Come usare un timer in Tkinter
La finestra root di Tkinter ha un metodo dedicato after
che chiama una funzione dopo un determinato periodo di tempo -
after(ms, func)
ms
è l’intervallo nell’unità di misura ms
,
func
è il nome della funzione chiamata.
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)
chiama la funzione stessa dopo 1000
ms, quindi, la funzione update_clock()
viene eseguita all’intervallo di 1000
ms e visualizza l’ora corrente nell’etichetta Tkinter.
after
non è garantito per chiamare la funzione dopo il periodo preciso, perché potrebbe essere ritardato se l’applicazione è occupata, a causa del fatto che Tkinter è a filo singolo.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