Como usar um temporizador em Tkinter
A janela raiz de Tkinter tem um método dedicado after
que chama uma função após um determinado período de tempo -
after(ms, func)
ms
é o intervalo na unidade de ms
- milisecond
,
func
é o nome da função chamada.
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)
chama a função em si após 1000
ms, portanto, update_clock()
função é executada no intervalo de 1000
ms e exibe a hora atual na etiqueta Tkinter.
after
não é garantido para chamar a função após o período preciso, pois pode ser atrasado se a aplicação estiver ocupada, resultando do fato de que o Tkinter é de rosca única.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