取消方法之后tkinter

时间:2018-12-13 06:19:58

标签: python python-3.x tkinter python-3.5

我已经看过很多有关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方法。 该怎么做?!

1 个答案:

答案 0 :(得分:1)

您需要将返回值保持在以下水平:

handle = top.after(1000, lambda:read_pressure())

然后单击按钮时,请执行以下操作:

if handle:
   top.after_cancel(handle)
   handle = None

两者都带有global handle。与变异全局变量相比,我更喜欢使用这些方法并使用self来存储状态。