我试图让定时器在某个功能中变慢,甚至在调用某个功能时停止定时器。
尝试做.remove .forget但是什么都行不通。
有没有办法停止/减慢计时器?
from tkinter import *
import time
class App():
def __init__(self):
self.window = Tk()
self.root = Frame(self.window, height=200,width=200)
self.root.pack()
self.root.pack_propagate(0)
self.window.title('Timer')
self.label = Label(text="")
self.label.pack()
self.sec = 11
self.timerupdate()
self.root.mainloop()
def timerupdate(self):
if self.sec!=0:
self.sec-=1
self.label.configure(text=self.sec)
self.root.after(1000, self.timerupdate)
if self.sec == 0:
self.sec = 11
self.slow_time()
def slow_time(self):
self.after.configure(1000000000,self.counting)
app=App()
app.mainloop()
答案 0 :(得分:0)
代码中唯一的计时器是您致电self.root.after(1000, self.timerupdate)
时。 1000
是控制速度的原因。它指定将来调用函数的距离,并表示为毫秒数。如果您想每秒运行一次,请使用值1000
。如果您想每两秒运行一次,则值为2000
,每半秒为500
。
因此,将速度存储在变量中,在调用self.after
时使用该变量,然后只需在加速或减慢计时器时更改该变量即可。