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