在tkinter,python中,我正在尝试创建一个程序,所以当单击Up
时,会将1添加到一个数字中(使用StringVar来显示它),当数字达到10时,它是重新启动到0.我已设法完成此部分,但我想启用它,以便在一定时间后,数字不能再更改。例如,我按住Up
按钮一段特定的时间,我得到的最后一个数字是6.现在,我希望它保持在6,无论我按下多少次{{ 1}}。这是我的代码:
Up
此代码显示了我所做的第一部分,但是当我尝试执行第二部分时,这就是我所做的:
from tkinter import *
root = Tk()
hwd1 = 0
mult = 1
hwd = StringVar()
hwd.set("0")
def add1(event):
global hwd
global hwd1
on = True
if on:
hwd1 += 1*(mult)
hwd.set(str(hwd1));
if hwd1 == 10:
hwd1 = 0
hwd.set("0")
label = Label(root, textvariable=hwd)
label.pack()
root.bind_all('<Up>', add1)
从使用此代码,我收到一条错误消息from tkinter import *
root = Tk()
hwd1 = 0
mult = 1
hwd = StringVar()
hwd.set("0")
def deladd():
global add1
del(add1)
def add1(event):
global add1
global hwd
global hwd1
on = True
if on:
hwd1 += 1*(mult)
hwd.set(str(hwd1));
if hwd1 == 10:
hwd1 = 0
hwd.set("0")
root.after(5000, deladd)
label = Label(root, textvariable=hwd)
label.pack()
root.bind_all('<Up>', add1)
,我不知道为什么。我很感激你的帮助,感谢你的时间:)。
-Jake
答案 0 :(得分:0)
您错过了声明 - 只需编辑代码并将def add1
放在def deladd
之前
问题是因为deladd()
正在调用add1,但在第一次调用时它无法达到&#39;它