[英]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.