【发布时间】:2020-11-17 13:11:55
【问题描述】:
我正在尝试使用堆叠的小部件在 MainWindow 和 QDialog Window 之间切换。是否可以在堆叠的小部件中添加 QMainWindow?
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(400, 300)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(180, 110, 47, 13))
self.label.setObjectName("label")
self.nextButt = QtWidgets.QPushButton(self.centralwidget)
self.nextButt.setGeometry(QtCore.QRect(10, 270, 75, 23))
self.nextButt.setObjectName("nextButt")
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.label.setText(_translate("MainWindow", "Hi"))
self.nextButt.setText(_translate("MainWindow", "Next"))
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(400, 300)
self.menuButt = QtWidgets.QPushButton(Dialog)
self.menuButt.setGeometry(QtCore.QRect(20, 250, 75, 23))
self.menuButt.setObjectName("menuButt")
self.label = QtWidgets.QLabel(Dialog)
self.label.setGeometry(QtCore.QRect(200, 100, 47, 13))
self.label.setObjectName("label")
self.retranslateUi(Dialog)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
self.menuButt.setText(_translate("Dialog", "Menu"))
self.label.setText(_translate("Dialog", "Bye"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
main_win = Ui_MainWindow()
dialog = Ui_Dialog()
stackedWidget = QStackedWidget()
stackedWidget.addWidget(main_win)
stackedWidget.addWidget(dialog)
stackedWidget.show()
sys.exit(app.exec_())
但我不断收到错误
TypeError: addWidget(self, QWidget): argument 1 has unexpected type 'Ui_MainWindow'
【问题讨论】:
标签: python python-3.x pyqt pyqt5