我已经看过很多有关Tkinter
中的after cancel方法的示例,但是我不清楚。在我的代码中,我正在使用after方法在after之后的输入框中输入s
的值。一定的时间延迟。现在我需要在周期结束后按下按钮停止操作。
def read_pressure():
global s
s+=1
E3.delete(0,'end')
E3.insert(0,s)
top.after(1000, lambda:read_pressure())
现在我需要使用一个按钮停止这些循环。该怎么做? 我正在使用python 3.5 在Dan的帮助下,我可以停止使用after方法,但是它冻结了我的gui,并且我无法调出after方法。 该怎么做?!
答案 0 :(得分:1)
您需要将返回值保持在以下水平:
handle = top.after(1000, lambda:read_pressure())
然后单击按钮时,请执行以下操作:
if handle:
top.after_cancel(handle)
handle = None
两者都带有global handle
。与变异全局变量相比,我更喜欢使用这些方法并使用self来存储状态。