我在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()
答案 0 :(得分:1)
我不知道tk,但是从上下文来看,看起来你正在使用select
和deselect
来查询窗口小部件的当前状态并设置窗口小部件的当前状态似乎错了。
根据http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/checkbutton.html,有一个函数toggle
让我想到
def onLeftClick(event):
if event.widget['state']=='normal':
event.widget.toggle()
会做你想做的事。