我有一个可变长度的列表,希望为列表中的每个条目创建一个复选框(使用python TKinter)(每个条目对应于一台应使用复选框打开或关闭的计算机->;更改字典中的值)。
print enable
{'ID1050': 0, 'ID1106': 0, 'ID1104': 0, 'ID1102': 0}
(例如,可以是任意长度)
现在相关代码:
for machine in enable:
l = Checkbutton(self.root, text=machine, variable=enable[machine])
l.pack()
self.root.mainloop()
这段代码生成4个复选框,但它们都被勾选或取消勾选在一起,并且enable
dict中的值不会更改。如何解决?(我认为l
不起作用,但如何使这一个变量?)
我只是想和大家分享我的例子,而不是字典:
希望有帮助
传递给每个checkbutton的“variable”必须是Tkinter variable的一个实例-事实上,传递的只是值“0”,这会导致错误行为。
您可以在同一for循环上创建Tkinter.Variable实例您可以创建复选按钮-只需将代码更改为:
然后可以使用其
get
方法检查每个复选框的状态,如enable["ID1050"].get()
相关问题 更多 >
编程相关推荐