Einen Countdown-Timer mit Python und Tkinter erstellen?

Ich möchte mit meiner Countdown-Timer-Funktion ein Label in Tkinter setzen. Im Moment setzt es das Label auf "10", sobald 10 erreicht ist und ich verstehe nicht wirklich warum. Auch wenn ich den Timer auf ein Terminal drucken lasse, ist die "Zeit abgelaufen!" bisschen druckt nie.

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()

Antworten auf die Frage(1)

Ihre Antwort auf die Frage