2013-10-03 48 views
2

這裏是一個小的代碼示例我的Effbot網站,這是接近我想在我的節目之一做中發現:的Tkinter Checkbutton和事件的回調函數

from Tkinter import * 

fen =Tk() 

class test_Tk_class: 
    def __init__(self): 
     self.var = IntVar() 
     c = Checkbutton(
      fen, text="Enable Tab", 
      variable=self.var, 
      command=self.cb) 
     c.pack() 

    def cb(self,event): 
     print "variable is", self.var.get() 

    a = test_Tk_class() 
    fen.mainloop() 

但是這個代碼不工作。回調函數cb不起作用,因爲它需要2個參數而沒有給出。你如何指定event參數?

回答

4

在這種情況下,此代碼完全不需要event。我得到它的工作由剛完全清除它:

def cb(self): 
    print "variable is", self.var.get() 

唯一的一次,你會組織你的代碼,方法是,如果你要綁定功能按鍵或鼠標點擊。然而,檢查/取消選中檢查按鈕不是必需的。

我不知道在Effbot上編碼的人想要做什麼,但我認爲他沒有做對。也許他犯了一個錯字,或者有其他想法。

+0

感謝您的回答。這確實有效。 –

+0

更好的是使用'event = None',以便回調對按鈕和綁定起作用 –