gpt4 book ai didi

python - 如何取消闹钟功能?

转载 作者:行者123 更新时间:2023-12-01 04:48:18 27 4
gpt4 key购买 nike

我正在制作一个用于计时的小东西。我定义了一个函数来实现这一点。但我希望当我点击按钮时计时机停止。有什么办法可以做到这一点吗?

我可以定义另一个函数来停止计时功能或执行任何其他操作来实现此目的吗?

我的代码是:

from Tkinter import *
counter=0

def label_counter(label):
def count():
global counter
counter+=1
label.config(text=str(counter))
label.after(1000,count)
count()


root=Tk()
label=Label(root)
label.pack()
label_counter(label)

button=Button(root,text='Stop',command=root.destroy)
button.pack()

mainloop()

最佳答案

代码中最简单的修复方法是使用另一个全局变量为警报分配标识符:

from Tkinter import *
counter=0
alarm_id = None

def label_counter(label):

def count():
global counter
global alarm_id
counter+=1
label.config(text=str(counter))
alarm_id = label.after(1000,count)
count()

然后您可以创建另一个按钮,并使用 after_cancel 方法取消闹钟(列出 here ):

label.after_cancel(alarm_id)

请注意,您不应使用全局变量。创建一个类并使用其字段。

关于python - 如何取消闹钟功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28943816/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com