我有一个看起来像这样的 MainWindow:
def __init__(self, parent = None):
QMainWindow.__init__(self, parent)
self.setupUi(self)
self.showMaximized()
menu=mainMenu.MainMenu()
classification=classificationMain.ClassificationMain()
self.stackedWidget.addWidget(menu)
self.stackedWidget.addWidget(classification)
self.stackedWidget.setCurrentWidget(menu)
self.stackedWidget.showFullScreen()
#connections
menu.pushButton.clicked.connect(self.showClassification)
classification.backButton.clicked.connect(self.showMainWindow)
def showClassification(self ):
self.stackedWidget.setCurrentIndex(3)
def showMainWindow(self):
self.stackedWidget.setCurrentIndex(2)
MainWindows 等待来自其余对话框的信号。现在,Classification 对话框中有另一个 StackedWidget,因为它用作应用程序重要部分的主窗口。看起来像:
class ClassificationMain(QDialog, Ui_Dialog):
def __init__(self, parent = None):
QDialog.__init__(self, parent)
self.setupUi(self)
choose=choosePatient.ChoosePatient()
self.stackedWidget.addWidget(choose)
self.stackedWidget.setCurrentWidget(choose)
现在,我想在每次单击 MainMenu 中的“显示分类”按钮时重新加载 ChoosePatient 中的数据,但现在数据只在 MainWindow 的分类=classificationMain.ClassificationMain() 行中加载一次。
我在想我必须通过单击 MainMenu 内的“显示分类”按钮来连接 ChoosePatient 内的一个插槽,但我需要一个 MainMenu 实例,这是不可能的。
每次单击“父”窗口中的按钮时,如何执行 ChoosePatient 方法?(另外,请告诉我这是否不是使用 pyqt windows 的正确方法)