Como usar um temporizador em Tkinter

Jinku Hu 3 janeiro 2023
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.

Atenção
Esteja ciente de que o período dado no método 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.

Relógio temporizador Tkinter

Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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