在Tkinter 中安排自動更新以進行即時顯示
在Tkinter 中,建立動態更新的即時時鐘或計時器可以是具有挑戰性的。在循環中使用 time.sleep() 會導致整個 GUI 凍結。但是,tkinter 提供了一種解決方案,可以在不中斷 GUI 的情況下實現自動更新。
解決方案:Tkinter 的「after」方法
Tkinter 根視窗的 after 方法可讓您安排在指定時間間隔後呼叫的函數。透過在函數本身中實作此方法,您可以建立一個重複事件。
範例實作
這裡有一個工作程式碼片段,用於使用方法後:
import Tkinter as tk import time class App(): def __init__(self): self.root = tk.Tk() self.label = tk.Label(text="") 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=App()
在此程式碼:
注意:
Tkinter 的 after 方法不保證精確計時。它安排事件在給定的時間間隔後發生,但由於 Tkinter 的單執行緒特性,實際執行時間可能略有不同。
以上是如何在 Tkinter 中排程自動更新以實現即時 GUI 顯示?的詳細內容。更多資訊請關注PHP中文網其他相關文章!