将标签的值重置为函数

时间:2014-05-10 19:16:26

标签: python-2.7 tkinter label reset

我想将标签重置为一个函数,开头我已经这样做了:

Label3 = Label(Mafenetre)
Label3.pack(side = TOP, pady = 5)

并调用我的函数(单击按钮时):

def main() :  
    Label3.config(text='')
    Label3 = Label(Mafenetre, text = '654')
    Label3.pack()

但我有这个错误: UnboundLocalError:在assignement

之前引用的局部变量'Label3'

所以我尝试了这个:

def main() :   
    if not Label3 : 
        Label3 = Label(Mafenetre)
        Label3.pack(side = TOP, pady = 5)

    Label3.config(text='')
    Label3 = Label(Mafenetre, text = '654')
    Label3.pack()

但我仍然有同样的问题,我不明白为什么,因为如果没有定义变量,应该创建它。 我做错了什么?这是好方法吗? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

您不需要在函数内重新创建Label实例,因为它已经存在。当你这样做时,Label3现在是该函数的本地,因此访问config将导致错误,因为Label3尚不存在 - 在该函数内部。只需将main更改为:

def main() :  
    Label3.config(text='654')

然后它应该有用。