一、问题
当我们使用Qt制作多个ui界面时,当点击某一主页面里的按钮时,怎样实现页面之间的跳转呢?
假设一个主界面的按钮跳转到Content_1.py界面。Ui_Caidan是Content_1.py里面的类。
二、问题解决
1. 首先在主界面导入想要跳转的.py文件库
2. 赋予按钮跳转功能
self.pushButton_2.clicked.connect(self.content) #注:实现跳转,content是自己定义的函数名称;
3. 定义跳转函数代码
def content(self):
ui_1.show() #注:ui_1是自己定义的变量
4. 在代码最后添加
if __name__ == '__main__':
app = QApplication(sys.argv)
MainWindow = QMainWindow()
ui = Ui_MainWindow()
ui_1 = Content_1.Ui_Caidan()
#注:引入需要跳转的页面类名
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
5. 导入相关库
from PyQt5.QtWidgets import QApplication, QMainWindow
import sys
6. 主页面类下增加固定代码
def __init__(self):
super(Ui_MainWindow, self).__init__()
self.setupUi(self)
self.retranslateUi(self)
#跳转页面的类下也要增加代码:
class Ui_Caidan(QtWidgets.QMainWindow): #注:括号里不是object
def __init__(self):
super(Ui_Caidan, self).__init__()
#注:Ui_Caidan是类名
self.setupUi(self)
self.retranslateUi(self)
总结
注:上述代码只能实现一次跳转,如果在跳转的页面点击返回按钮,则程序无响应,所以不能实现多次跳转,如果有知道的小伙伴,还望不吝赐教!