2013-10-02 58 views
1

我在CheckButton上附加了一個事件,通過左鍵單擊它來更改項目的狀態,並且預期的結果是狀態切換。這意味着如果選中了checkbutton,則取消選擇它,如果取消選中,則選擇它。下面是代碼:如何在python中附加Tkinter Checkbutton上的事件以切換狀態

def onLeftClick(event): 
if event.widget.select()==True and event.widget['state']=='normal': 
    event.widget.deselect() 
elif event.widget.deselect()==True and event.widget['state']=='normal': 
    event.widget.select() 
+1

請修復您的縮進。 – tacaswell

+0

你爲什麼要將事件綁定到checkbutton?它已經具有切換檢查按鈕狀態的綁定。 –

回答

1

我不知道TK,但根據上下文,它看起來像你正在使用selectdeselect這兩個查詢窗口小部件的當前狀態,並設置控件的當前狀態這似乎是錯誤的。

根據http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/checkbutton.html有一個函數toggle這讓我覺得

def onLeftClick(event): 

    if event.widget['state']=='normal': 
     event.widget.toggle() 

會做你想要什麼。

相關問題