1
我有一大组CheckButtons,每个都需要一个独特的IntVar。 当我单击checkbutton时,超出了打印IntVar值的代码时,除最后一个之外,每个都打印0而不是1。 任何人都可以帮助我找出这个代码中的问题在哪里?如何分配独特IntVar -s到Tkinter的一大组CheckButtons
import tkinter as tk
class application():
def __init__(self):
self.win = tk.Tk()
self.createWidgets()
def createWidgets(self):
a=[]
b=[]
c=[1 for i in range(7)]
k=1
for index, item in enumerate(c):
var=tk.IntVar()
a.append(var)
check=tk.Checkbutton(self.win, text='Button %d' %(k), command= lambda: self.a(var.get()), variable =var)
b.append(check)
b[index].grid(row=k)
k=k+1
def a(self, var):
print(var)
if __name__ == "__main__":
app = application()
app.win.mainloop()
谢谢你的解释.. –
我改变了你说的命令部分,但结果是一样的。它仍然打印0,除了最后的每个按钮..:s –
@ E.Zag哦!适用于我。 [这是发生了什么](https://gist.github.com/72541c4ec173c64ac7c4b498e42ebc16) – tiwo