不同框架中的CheckButtons在python 3中一起激活

时间:2018-10-20 20:28:57

标签: python-3.x tkinter

今天,我在python 3中发现了一个问题。 在带有不同框架的tkinter中创建一个checkbutton对象时,我注意到gui中存在一个错误。 例如:

root = Tk()
frame1 = Frame(root)
frame1.pack()
frame2 = Frame(root)
frame2.pack()
Checkbutton(frame1).pack()

Checkbutton(frame2).pack()
root.mainloop()

现在的问题是,如果您单击任何一个复选按钮,就会发现另一个取消激活。

你们有没有发现问题?

1 个答案:

答案 0 :(得分:0)

如果检查按钮是独立的,则应将其关联到不同的变量,如

var1 = BooleanVar()
c1 = Checkbutton(frame1)
c1['variable'] = var1

var2 = BooleanVar()
c2 = Checkbutton(frame2)
c2['variable'] = var2

c1.pack()
c2.pack()

,它应该可以正常工作。因为您尚未关联任何对象,所以它们共享同一个实体。