Tkinter按钮命令无法运行

时间:2018-12-08 19:09:41

标签: python button tkinter global-variables

我想编写一个程序,其中需要按钮来返回整数。所以我的想法是创建一个被更改的局部变量。

问题是,全局变量值以某种方式未定义。

也许有人可以帮助我吗?谢谢!!

def nb_1():
    global value
    value=1

def nb_2():
    global value
    value=2

def valueNumber():
    global value
    
    b1=Button(frame_output, text='1', command=nb_1)
    b1.pack(side=LEFT)

    b2=Button(frame_output, text='2', command=nb_2)
    b2.pack(side=LEFT)

    x=value
    return x
    
print (valueNumber())

1 个答案:

答案 0 :(得分:0)

首先,您需要在函数之外定义全局变量value。同样,valueNumber()所做的只是创建按钮而调用命令nb_1和nb_2,而只是将它们分配为按钮命令。因此,返回值将是您首先分配给value的值,这里是0

如果您想在每次更改值时都通过单击按钮打印值,就可以在此功能内打印值

from tkinter import Button, Tk, LEFT

frame_output = Tk()

def nb_1():
    global value
    value=1
    print(value)

def nb_2():
    global value
    value=2
    print(value)

def valueNumber():
    global value

    b1=Button(frame_output, text='1', command=nb_1)
    b1.pack(side=LEFT)

    b2=Button(frame_output, text='2', command=nb_2)
    b2.pack(side=LEFT)

    x=value
    return x

value = 0
valueNumber()

frame_output.mainloop()