如何在函数外获取变量值

时间:2016-12-12 03:10:55

标签: python python-2.7 python-3.x tkinter

我是初学者,请耐心等待。这段代码是一段GUI,当用户在其中写入时会有一个Entry框并点击“Enter”按钮,它会使用标签显示用户文本,但是当我尝试在函数外部获取用户文本时,我会收到错误< / p>

def qf(event):
    global var
    var= ""
    var= s.set("%s" % r.get())

class1(tk.Frame)
    def __init__:(self, parent, controller)
       global s,r
       s =tk.StringVar() 
       r= tk.StringVar() 

       textbox1 = tk.Entry(self,width= 75,textvariable= r)
       textbox1.place(relx=.28, rely=.966 )

       textbox1.bind('<Return>', qf)

       label3 = tk.Label(self, textvariable= s, font= Large_Font)
       label3.pack(pady=10, padx=10)         


print " Text is: %s" %var

我收到此错误:NameError:未定义全局名称'var'

1 个答案:

答案 0 :(得分:0)

好吧,似乎你在qf()函数中定义了全局变量,但是你从不运行该函数,所以你永远不要定义全局变量var

请参阅以下代码:

def qf():
    global var
    var = "hello"

qf() # if you miss this, python can't find 'var'
print "Text is: %s" % var