如何在 Tkinter 中使用定時器
Jinku Hu
2023年1月3日
2019年12月2日
Tkinter root
視窗具有專用方法 after
,此方法會在給定時間後呼叫函式-
after(ms, func)
ms
是時間間隔,單位為 ms
,
func
是被呼叫的函式名稱。
try:
import Tkinter as tk
except:
import tkinter as tk
import time
class Clock():
def __init__(self):
self.root = tk.Tk()
self.label = tk.Label(text="", font=('Helvetica', 48), fg='red')
self.label.pack()
self.update_clock()
self.root.mainloop()
def update_clock(self):
now = time.strftime("%H:%M:%S")
self.label.configure(text=now)
self.root.after(1000, self.update_clock)
app=Clock()
self.root.after(1000, self.update_clock)
在 1000 ms
之後呼叫該函式本身,因此,update_clock()
函式以 1000 ms
為間隔執行一次,在 Tkinter 標籤中顯示當前時間。
注意
請注意,
after
不能保證方法中設定的時間會非常精確呼叫該函式,因為如果應用程式繁忙,而 Tkinter 是單執行緒的,則該延遲時間可能會延長。Author: Jinku Hu
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn