在 Tkinter 中安排更新
Tkinter 需要計時器或時鐘來動態顯示即時訊息,例如時鐘。然而,在循環中使用 time.sleep() 會凍結 GUI。
使用 Tkinter 的 after 方法
Tkinter 的根視窗提供了 after 方法,可以安排一個函數在指定的時間間隔後運行。在函數內遞歸呼叫 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()
在此範例中,建立了一個 App 類別來顯示Tkinter 視窗中的時鐘。 update_clock 方法計畫使用 after 方法每秒重複執行。這允許動態更新時鐘,而無需凍結 GUI。
注意:
After 不保證函數將準確按時運作。它會安排作業,實際執行時間可能會根據應用程式的工作負載而有所不同。在 Tkinter 中,延遲通常以微秒為單位。
以上是如何在不凍結 GUI 的情況下安排 Tkinter 更新?的詳細內容。更多資訊請關注PHP中文網其他相關文章!