Как сделать таймер обратного отсчета с помощью 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()
6
задан Aran-Fey 26 April 2018 в 15:17
поделиться