# -*- coding: utf-8 -*- """ Module implementing MainWindow. """ from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtCore import pyqtSlot from PyQt5.QtWidgets import QMainWindow from Ui_abc import Ui_MainWindow as a class MainWindow(QMainWindow, Ui_MainWindow): def __init__(self, parent=None): """ Constructor @param parent reference to the parent widget @type QWidget """ super(MainWindow, self).__init__(parent) self.setupUi(self) def setupUi(self, Form): Form.setObjectName("Form") Form.resize(400, 300) self.form = Form self.pushButton = QtWidgets.QPushButton(Form) self.pushButton.setGeometry(QtCore.QRect(70, 90, 75, 23)) self.pushButton.setObjectName("pushButton") self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) #信号连接到指定槽 self.pushButton.clicked.connect(self.on_pushButton_clicked) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "Form", None)) self.pushButton.setText(_translate("Form", "进入dialog1")) @pyqtSlot() def on_pushButton_clicked(self): """ Slot documentation goes here. """ self.form.hide() Form1 = QtWidgets.QDialog() ui = a() ui.setupUi(Form1) Form1.show() Form1.exec_() self.form.show() #self.gridLayout.addWidget(self.zichuangti) #print(dir(a)) @pyqtSlot() def on_pushButton_2_clicked(self): """ Slot documentation goes here. """ # TODO: not implemented yet print('x') self.textBrowser.setText('测试') if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) ui = MainWindow() ui.show() sys.exit(app.exec())
以上代码为主窗口,槽函数实现代码
# -*- coding: utf-8 -*- from PyQt5 import QtCore, QtGui, QtWidgets class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(800, 600) self.centralWidget = QtWidgets.QWidget(MainWindow) self.centralWidget.setObjectName("centralWidget") self.textBrowser = QtWidgets.QTextBrowser(self.centralWidget) self.textBrowser.setGeometry(QtCore.QRect(180, 160, 256, 192)) self.textBrowser.setObjectName("textBrowser") 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.textBrowser.setHtml(_translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n" "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n" "p, li { white-space: pre-wrap; }\n" "</style></head><body style=\" font-family:\'SimSun\'; font-size:9pt; font-weight:400; font-style:normal;\">\n" "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">能不能成功</p></body></html>")) if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) MainWindow = QtWidgets.QMainWindow() ui = Ui_MainWindow() ui.setupUi(MainWindow) MainWindow.show() sys.exit(app.exec_())
以上代码为跳转的窗口用来测试跳转效果