[英]python - call class variable from another class
我正在研究类并尝试在我的PySide GUI中使用setCentralWidget()。 我有一个MainWindow,以及两个小部件:mainWidget和searchWidget,在单击searchButton之后要显示的一个。
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow,self).__init__()
self.initUI()
def initUI(self):
mainWidget = MainWidget()
self.resize(300,500)
self.statusBar()
self.statusBar().showMessage('Elo Elo')
self.setCentralWidget(mainWidget) # <---- setting centralWidget first time
self.setWindowTitle('StartApp Welcome')
和searchWidget()
class SearchWidget(QWidget):
def __init__(self, parent=MainWindow):
super(SearchWidget,self).__init__()
self.initUI()
def initUI(self):
backButton = QPushButton('GoBack', self)
backButton.clicked.connect(self.goBack)
def goBack(self):
self.parent().setCentralWidget(self.parent().mainWidget) # <--- error line
错误
AttributeError: 'MainWindow' object has no attribute 'mainWidget'
我不知道如何到达MainWidget()实例“ mainWidget”。 你能以某种方式帮助我吗? 谢谢
这是因为在此行中:
self.parent().setCentralWidget(self.parent().mainWidget)
您尝试访问变量mainWidget
就像它是MainWindow
的属性一样 -并不是(目前它只是局部变量)。 这是因为您没有将其初始化为self.mainWidget
,必须执行该操作才能使其按self.mainWidget
。
self.mainwidget = MainWidget()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.