【问题标题】:how to get variable value outside the function如何在函数外获取变量值
【发布时间】:2017-04-26 21:28:50
【问题描述】:

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

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: global name 'var' is not defined

【问题讨论】:

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


    【解决方案1】:

    好吧,看来你在qf()函数中定义了全局变量,但是你从来没有运行过这个函数,所以你从来没有定义全局变量var

    请看下面的代码:

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

    【讨论】:

    • 只有在按下回车键时才会调用它,所以在执行print "Text is: %s" % var 时,var 不存在。在任何类和函数之外定义var = StringVar()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多