【发布时间】:2017-02-05 04:53:27
【问题描述】:
我似乎无法重新评估复选框的状态。在一个简单的解释中,我可以执行以下操作
import tkinter
from tkinter imprt ttk
root = Tk()
ck = ttk.Checkbutton(root, text='Checkbox')
ck.state(['!alternate'])
ck.state(['selected'])
if ck.instate(['selected']):
# do something
elif ck.instate(['!selected']):
# do something else
root.mainloop()
这会将检查按钮设置为“选中”状态,然后运行if 语句,因为它已被选中。但是,如果我取消选中该复选框,它不会重新评估复选框的状态并运行 elif 语句。我看过 root.update() 或 root.update_idletasks 之类的东西,但我很确定这不是我想要的。
感谢您的帮助!
附带说明,我使用的是 Python 3.x
【问题讨论】:
-
这个
if/else只执行一次 - 在开始时。如果您必须在运行程序期间执行某些操作,则将函数分配/绑定到Checkbutton
标签: python-3.x checkbox tkinter ttk