方法get_pos
应该抓住用户在条目中输入的内容。执行get_pos
时,它返回:
TypeError:必须使用app instance作为第一个参数调用未绑定方法get_pos()(没有取而代之)
代码:
class app(object):
def __init__(self,root):
self.functionframe=FunctionFrame(root, self)
self.functionframe.pack(side=BOTTOM)
def get_pos(self):
self.functionframe.input(self)
class FunctionFrame(Frame):
def __init__(self,master,parent):
Frame.__init__(self,master,bg="grey90")
self.entry = Entry(self,width=15)
self.entry.pack
def input(self):
self.input = self.entry.get()
return self.input
答案 0 :(得分:43)
您报告了此错误:
TypeError:必须使用app instance作为第一个参数调用未绑定方法get_pos()(没有取而代之)
通俗地说,这意味着你正在做这样的事情:
class app(object):
def get_pos(self):
...
...
app.get_pos()
你需要做的是这样的事情:
the_app = app() # create instance of class 'app'
the_app.get_pos() # call get_pos on the instance
很难得到比这更具体的信息,因为你没有向我们展示导致错误的实际代码。
答案 1 :(得分:16)
在构建类的实例时忘记在类名中添加括号时遇到此错误:
来自my.package导入MyClass
# wrong
instance = MyClass
instance.someMethod() # tries to call MyClass.someMethod()
# right
instance = MyClass()
instance.someMethod()
答案 2 :(得分:2)
我的水晶球告诉我你使用类app.get_pos
(实际上应该称为app
)而不是创建实例App
将app_instance = app
绑定到按钮并使用app_instance.get_pos
。
当然,正如其他人已经指出,你发布的代码存在很多其他问题,但是很难猜到你没有发布的代码中的错误。