Как использовать таймер в Tkinter

Корневое окно Tkinter имеет специальный метод после
, который вызывает функцию по истечении заданного периода времени -
after(ms, func)
ms
- это интервал в единице ms
,
функция
- это называемое имя функции.
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)
вызывает саму функцию после 1000
мс, поэтому функция update_clock()
выполняется с интервалом 1000
мс и отображает текущее время в метке Tkinter.
после
не гарантирован для вызова функции по истечении точного периода, так как он может быть задержан, если приложение занято, в результате того, что Tkinter является однопоточным.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