按下后,Python Tkinter按钮卡住了

时间:2016-08-03 06:06:14

标签: python button tkinter

我按下此tkinter按钮,绑定到它的功能完成,但按钮被按下。 gui的其余部分很好,响应速度很快,一切正常,除了按下的按钮。我甚至可以再次按下“卡住”按钮,绑定功能执行并完成,但按钮仍然按下。 有时前几次我点击按钮它工作正常,然后按钮重新启动,但是经过几次点击后它会被卡住。可能导致这种情况的原因是什么?

以下是按钮的代码:

bf1=Button(self.canvas,text='F1',fg='tan1')
bf1.grid(row=4,column=1,sticky='nwse',columnspan=4)
bf1.bind('<Button-1>',self.f1)

1 个答案:

答案 0 :(得分:0)

我找到了造成这种情况的原因,事实是我正在使用&#39; bind&#39;功能而不是&#39;命令&#39;。

当我使用它时,如果你在回调结束前将鼠标从按钮上移开,按钮就会粘住(如果你在回调中有很多工作要做,你只能实际执行此操作):

bf1=Button(self.canvas,text='F1',fg='tan1')
bf1.grid(row=4,column=1,sticky='nwse',columnspan=4)
bf1.bind('<Button-1>',self.f1)

但是如果您使用&#39;命令&#39;,则没有问题:

bf1=Button(self.canvas,text='F1',fg='tan1',command=self.f1)
bf1.grid(row=4,column=1,sticky='nwse',columnspan=4)

这是tkinter&#39;绑定&#39;的错误吗?