如何使用tkinter减慢计时器的速度

时间:2014-06-13 01:12:34

标签: python timer tkinter

我试图让定时器在某个功能中变慢,甚至在调用某个功能时停止定时器。
尝试做.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()

1 个答案:

答案 0 :(得分:0)

代码中唯一的计时器是您致电self.root.after(1000, self.timerupdate)时。 1000是控制速度的原因。它指定将来调用函数的距离,并表示为毫秒数。如果您想每秒运行一次,请使用值1000。如果您想每两秒运行一次,则值为2000,每半秒为500

因此,将速度存储在变量中,在调用self.after时使用该变量,然后只需在加速或减慢计时器时更改该变量即可。