【发布时间】:2017-10-13 17:13:14
【问题描述】:
我在这里有一个简单的 GUI,它假设返回一个布尔值,具体取决于检查按钮是否被选中。我已将布尔变量设置为 False,因此设置了空检查按钮。我不明白的是,当我检查按钮时,绑定到该小部件的函数返回 False 而不是 True。这是为什么呢?
这是代码...
from tkinter import *
from tkinter import ttk
def getBool(event):
print(boolvar.get())
root = Tk()
boolvar = BooleanVar()
boolvar.set(False)
cb = Checkbutton(root, text = "Check Me", variable = boolvar)
cb.bind("<Button-1>", getBool)
cb.pack()
root.mainloop()
检查空按钮时,函数输出...
False
既然按钮被选中,它不应该返回True吗?
【问题讨论】:
-
我怀疑您的绑定在单击鼠标的那一刻触发 - 在 Checkbutton 有机会更新其状态之前。尝试改用 Checkbutton 的
command=选项。
标签: python tkinter python-3.5