删除运行脚本中的函数? Tkinter Python 3.5

时间:2017-02-07 16:22:45

标签: python tkinter

在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

1 个答案:

答案 0 :(得分:0)

您错过了声明 - 只需编辑代码并将def add1放在def deladd之前

问题是因为deladd()正在调用add1,但在第一次调用时它无法达到&#39;它