2014-06-13 146 views
0

我試圖讓定時器在函數中變慢,或者甚至在函數被調用時停止定時器。
嘗試做.remove.forget但沒有任何工作。 任何方法來停止/減慢計時器?如何使用tkinter減慢計時器

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

「慢下來」?那是什麼意思? – Veedrac

+0

代碼中的self.after是什麼?這裏沒有定義。 – Marcin

回答

0

代碼中唯一的計時器是當您撥打self.root.after(1000, self.timerupdate)時。 1000是控制速度的東西。它指定將來多久調用一個函數,並表示爲毫秒數。如果您想每秒運行一次,請使用值1000。如果您想每兩秒鐘運行一次,則值爲2000,每半秒爲500

因此,將速度存儲在一個變量中,當您調用self.after時使用該變量,然後只要您想要加快或減慢定時器就更改該變量。