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.
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.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