Les fenêtres racines de Tkinter ont une méthode appelée after
qui peut être utilisé pour planifier l'appel d'une fonction après une période de temps donnée. Si cette fonction appelle elle-même after
vous avez mis en place un événement récurrent automatique.
Voici un exemple concret :
# 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()
N'oubliez pas que after
ne garantit pas que la fonction sera exécutée exactement à l'heure. Elle ne fait que horaires le travail à exécuter après un temps donné. Si l'application est occupée, il peut y avoir un délai avant qu'elle ne soit appelée puisque Tkinter est monofilaire. Ce délai est généralement mesuré en microsecondes.