Python Tkinter entry widget get未定义,未更新到我的主功能,
我正在遵循一些不同的指南,通过编写一个获取股票价格的小应用程序来重新学习Tkinter。我所面临的问题是从我的entry小部件变量调用.get()方法。我看到了一些其他建议,将所有创建的小部件放在一个函数中,然后在init方法中调用该函数,但是我得到了相同的错误,即使在输入变量前面使用self参数也是如此。我知道我在函数之间传递数据的方式有问题,但我不能对此掉以轻心。这是代码,很抱歉出现了文字墙:Python Tkinter entry widget get未定义,未更新到我的主功能,,python,class,object,user-interface,tkinter,Python,Class,Object,User Interface,Tkinter,我正在遵循一些不同的指南,通过编写一个获取股票价格的小应用程序来重新学习Tkinter。我所面临的问题是从我的entry小部件变量调用.get()方法。我看到了一些其他建议,将所有创建的小部件放在一个函数中,然后在init方法中调用该函数,但是我得到了相同的错误,即使在输入变量前面使用self参数也是如此。我知道我在函数之间传递数据的方式有问题,但我不能对此掉以轻心。这是代码,很抱歉出现了文字墙: class MyApp: def __init__(self, parent): se
class MyApp:
def __init__(self, parent):
self.myParent = parent
self.myContainer1 = Frame(parent)
self.myContainer1.pack()
self.createWidgets()
button1 = Button(self.myContainer1, command = self.button1Click)
button1.configure(text = "get quote")
button1.pack()
def createWidgets(self):
root.title("Stock App")
self.symbol = Entry(self.myContainer1)
self.symbol.pack()
self.symbol.focus_set()
def button1Click(self):
stock = symbol.get()
print stock
我甚至把它简化为最简单的形式,只是让button1Click调用回调函数-
def button1Click(self):
print callback()
def callback():
print symbol.get()
这将返回完全相同的错误:
NameError:未定义全局名称“symbol”
它被摧毁得太早了吗?我该如何解决这个问题
我已经为tkinter引用了多个文档,并且看到了一些很好的修复,但是没有一个是可扩展的,或者说,嗯,无法看到它们与我在一个对象中使用tkinter的关系
提前感谢您的帮助。您缺少了
self。
要回拨:
def callback():
print self.symbol.get()
def callback():
print self.symbol.get()
相反。您缺少
self。
进行回调:
def callback():
print self.symbol.get()
def callback():
print self.symbol.get()
相反。据我所知,在您的按钮单击方法中,您需要添加self,如下所示:
据我所知,在button1Click方法中,您需要添加self,如下所示: