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.

Tkinter Zeitgeber-Uhr

comments powered by Disqus