生成GUI时出错。。。UnboundLocalError:赋值前引用的变量“clicks”

2024-10-01 07:26:48 发布

您现在位置:Python中文网/ 问答频道 /正文

当我运行这段代码时,我得到以下错误:UnboundLocalError:赋值前引用的变量'clicks'。不知道该怎么办。如果有帮助的话,我正在运行python2.7.5

from Tkinter import *
from ttk import *
clicks = 0
def press():
        clicks += 1

def displayclicks():
        print clicks

root = Tk()
root.title("Test GUI")
root.geometry("200x100")
app = Frame(root)
app.grid()
Label(app, text="press the button!").grid()
clicks = 0
x = Button(app, text="BUTTON", command=press)
x.grid()
y = Button(app, text="Print clicks", command=displayclicks)
y.grid()

root.mainloop()

Tags: 代码textfromimportappdef错误button
1条回答
网友
1楼 · 发布于 2024-10-01 07:26:48

为了更改全局变量,需要显式引用它。由于方法press()正在添加到全局变量clicks,因此需要使用global关键字来引用它:

clicks = 0

def press():
    global clicks # make sure I am referring to the global
                  # variable, since I am going to modify it.
    clicks += 1

在方法displayclicks()中,您不必这样做,因为您只是打印值,而不是修改它。你知道吗

相关问题 更多 >