python代码实现Qt页面(.ui)之间的跳转

文章目录

  • 一、问题
  • 二、问题解决
    • 1. 首先在主界面导入想要跳转的.py文件库
    • 2. 赋予按钮跳转功能
    • 3. 定义跳转函数代码
    • 4. 在代码最后添加
    • 5. 导入相关库
    • 6. 主页面类下增加固定代码
  • 总结

一、问题

当我们使用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)

总结

注:上述代码只能实现一次跳转,如果在跳转的页面点击返回按钮,则程序无响应,所以不能实现多次跳转,如果有知道的小伙伴,还望不吝赐教!

你可能感兴趣的:(ui,qt,开发语言)