Создание таймера обратного отсчета с Python и Tkinter?
Я хочу установить метку в Tkinter, используя функцию таймера обратного отсчета. Прямо сейчас все, что он делает, устанавливает ярлык на «10». как только 10 достигнуто, и я действительно не понимаю, почему. Кроме того, даже если у меня есть таймер, печатающий на терминале, вместо этого "Время истекло!" немного никогда не печатает.
import time
import tkinter as tk
class App():
def __init__(self):
self.root = tk.Tk()
self.label = tk.Label(text="null")
self.label.pack()
self.countdown()
self.root.mainloop()
# Define a timer.
def countdown(self):
p = 10.00
t = time.time()
n = 0
# Loop while the number of seconds is less than the integer defined in "p"
while n - t < p:
n = time.time()
if n == t + p:
self.label.configure(text="Time's up!")
else:
self.label.configure(text=round(n - t))
app=App()