Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Updates in Tkinter planen, ohne die GUI einzufrieren?
Updates in Tkinter planen
Tkinter benötigt einen Timer oder eine Uhr, um Echtzeitinformationen dynamisch anzuzeigen, beispielsweise eine Uhr. Allerdings kann die Verwendung von time.sleep() in einer Schleife die GUI einfrieren.
Verwendung der After-Methode von Tkinter
Die Root-Fenster von Tkinter stellen die After-Methode bereit, die eine planen kann Funktion, die nach einem bestimmten Zeitintervall ausgeführt wird. Der rekursive Aufruf von after innerhalb der Funktion ermöglicht die automatische Wiederholung eines Ereignisses.
Beispielcode:
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()
In diesem Beispiel wird eine App-Klasse zur Anzeige erstellt eine Uhr in einem Tkinter-Fenster. Die Methode „update_clock“ ist so geplant, dass sie mit der Methode „after“ jede Sekunde wiederholt ausgeführt wird. Dadurch kann die Uhr dynamisch aktualisiert werden, ohne dass die GUI einfriert.
Hinweis:
After garantiert nicht, dass die Funktion genau pünktlich ausgeführt wird. Es plant den Job und die tatsächliche Ausführungszeit kann je nach Arbeitslast der App variieren. In Tkinter wird die Verzögerung normalerweise in Mikrosekunden gemessen.
Das obige ist der detaillierte Inhalt vonWie kann ich Updates in Tkinter planen, ohne die GUI einzufrieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!