我有这样的例子。它不起作用,我不明白为什么。
from tkinter import *
def function():
root = Tk()
but = Button(root,text="Test question", width=30, height=5,)
but.pack()
def why(event):
a = 1
but.bind("<Button-1>", why)
root.mainloop()
if a == 1:
print("all works")
该函数看不到该变量
a,因为它是在其本地范围之外定义的,并且不是全局的。要使代码在a = 1您需要添加之前工作global a,但有一件事,但all works只有在您首先按下按钮关闭窗口后才会打印。要在单击按钮时查看输出,您需要在why(). 这是一个小例子: