Cómo usar un temporizador en Tkinter

Jinku Hu 3 enero 2023
Cómo usar un temporizador en Tkinter

La ventana raíz de Tkinter tiene un método dedicado after que llama a una función después de un período de tiempo determinado -

after(ms, func)

ms es el intervalo en la unidad de ms,

func es el nombre de la función llamada.

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) llama a la propia función después de 1000 ms, por lo tanto, update_clock() la función se ejecuta en el intervalo de 1000 ms y muestra la hora actual en la etiqueta de Tkinter.

Atención
Tenga en cuenta que el período dado en el método after no está garantizado para llamar a la función después del período preciso, porque podría retrasarse si la aplicación está ocupada, debido a que Tkinter es de un solo hilo.

Reloj temporizador de Tkinter

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