我在使用Python制作Raspberry Pi的倒计时时钟时出现问题。我需要倒计时时钟从60分钟开始倒计时。当时间用完时,它应显示红色文字“GAME OVER”。
我已经使用TKinter和for
循环为实际计时器做了一个,但我找不到任何方法来阻止for
循环。我放弃了。
有没有人可以写出实际的计时器和计时器停止部分?我对python和TKinter做得很好,可以做我需要的所有其他事情。
答案 0 :(得分:0)
我建议使用generators来处理你的for循环并提供一个最小的示例但是在StackOverflow上没有人会“编写实际计时器和计时器停止部分“(见What topics can I ask here)
请注意,这是我在发布此问题之前的示例,并认为这对您有所帮助。
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()
你仍然需要自己弄明白如何实现after_cancel()
来阻止它以及红色的“GAME OVER”文本。