如何在python中的Tkinter Checkbutton上附加事件,以切换状态

时间:2013-10-02 05:54:50

标签: 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 个答案:

答案 0 :(得分: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()

会做你想做的事。