使用另一个类的实例属性。 Python
问题描述:
我需要从另一个到一个类的实例属性。我正在考虑它,它看起来应该起作用,但事实并非如此。你能给我一些帮助吗?使用另一个类的实例属性。 Python
我需要去swidget和searchWidget女巫在主窗口,从MainWidget
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.mainWidget = MainWidget(self)
self.searchWidget = SearchWidget(self)
self.swidget = QStackedWidget()
self.swidget.addWidget(self.mainWidget)
self.swidget.addWidget(self.searchWidget)
self.setCentralWidget(self.swidget)
self.initUI()
...
和MainWidget类:
class MainWidget(QWidget):
def __init__(self, parent):
super(MainWidget,self).__init__(parent)
self.initUI()
def initUI(self):
...
def goSearch(self):
self.parent.swidget.setCurrentWidget(self.parent.searchWidget)
Ive得到了在最后一行(DEF doSearch问题( )) 口译员说:
File "/home/maze/Develop/StartApp/startapp.py", line 71, in goSearch
self.parent.swidget.setCurrentWidget(self.parent.searchWidget)
AttributeError: 'builtin_function_or_method' object has no attribute 'swidget'
我在做什么wron g在这里?谢谢你的时间。
答
您需要这在构造函数用于class MainWidget
:
self.parent = parent
发送到构造函数的变量是“超出范围”其他地方在你的类。
上帝保佑你,幻影 – user4175226 2014-10-31 19:21:16
@ user4175226上帝保佑!如果这回答了您的问题,请不要忘记将其标记为已接受! – phantom 2014-10-31 19:21:56
祝福你和stackoverflow.com! – user4175226 2014-10-31 19:29:49