我需要从另一个类获取类的实例属性。我正在考虑它,它看起来应该工作,但事实并非如此。你能给我一些帮助吗?
我需要在MainWindow中使用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)
我在最后一行遇到了问题(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'
我在这里做错了什么?谢谢你的时间。
答案 0 :(得分:0)
在class MainWidget
:
self.parent = parent
发送给构造函数的变量在您的类中的其他任何位置都“超出范围”。