Las ventanas raíz de Tkinter tienen un método llamado after
que se puede utilizar para programar una función a la que llamar después de un período de tiempo determinado. Si esa función llama al after
, ha configurado un evento recurrente automático.
Aquí es un ejemplo de trabajo:
# for python 3.x use 'tkinter' rather than 'Tkinter'
import Tkinter as tk
import time
class App():
def __init__(self):
self.root = tk.Tk()
self.label = tk.Label(text="")
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=App()
tener en cuenta que after
no garantiza la función se ejecutará exactamente a tiempo. Solo programa el trabajo que se ejecutará después de un período de tiempo determinado. Si la aplicación está ocupada, puede haber un retraso antes de que se llame ya que Tkinter tiene un solo subproceso. El retraso generalmente se mide en microsegundos.
Aquí está [ejemplo de código en la forma de usar 'root.after()' para implementar un contador de tiempo.] (Https://gist.github.com/zed/5440b9372a15d86b5c47) – jfs