Wie man einen Timer in Tkinter benutzt

Jinku Hu 3 Januar 2023
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

Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook