Python countdown clock with GUI [duplicate]

I’d recommend using generators to handle your for loop and will provide a minimal example but on StackOverflow no one is going to “write the actual timer and timer stopping part” (see What topics can I ask here)

Note this is an example I had before this question was posted and thought it would be helpful to you.

import tkinter as tk

def run_timer():
    for time in range(60):
        label["text"] = time #update GUI here
        yield #wait until next() is called on generator

root = tk.Tk()

label = tk.Label()
label.grid()

gen = run_timer() #start generator
def update_timer():
    try:
        next(gen)
    except StopIteration:
        pass #don't call root.after since the generator is finished
    else:
        root.after(1000,update_timer) #1000 ms, 1 second so it actually does a minute instead of an hour

update_timer() #update first time

root.mainloop()

you will still need to figure out for yourself how to implement after_cancel() to stop it and the red “GAME OVER” text.

Leave a Comment