HOWTO · Tkinter
Wie man einen Timer in Tkinter benutzt
Dieses Tutorial zeigt, wie man einen Timer in Tkinter benutzt
Tkinter Root-Fenster hat eine spezielle Methode after, die eine Funktion nach einer bestimmten Zeitspanne aufruft -
after(ms, func)
ms ist das Intervall in der Einheit ms,
func ist der Name der aufgerufenen Funktion.
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) ruft die Funktion selbst nach 1000 ms auf, daher wird die update_clock() Funktion im Intervall von 1000 ms ausgeführt und zeigt die aktuelle Zeit im Tkinter-Label an.
Achtung
Seien Sie sich bewusst, dass die angegebene Zeitspanne in der
after Methode nicht garantiert ist, dass die Funktion nach der genauen Zeitspanne aufgerufen wird, da sie sich verzögern könnte, wenn die Anwendung beschäftigt ist, was darauf zurückzuführen ist, dass Tkinter Single-Threaded ist.