• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PyQt5实现界面(页面)跳转的示例代码

    网上关于PyQt5的教程很少,特别是界面跳转这一块儿,自己研究了半天,下来和大家分享一下

    一、首先是主界面

    # -*- coding: utf-8 -*-
    
    # Form implementation generated from reading ui file 'Form.ui'
    #
    # Created by: PyQt5 UI code generator 5.10.1
    #
    # WARNING! All changes made in this file will be lost!
    #要注意的是跳转界面第二个必须使用QDialog类,不能使用QWidget,我也不知道为什么,特别注意
    from PyQt5 import QtCore, QtGui, QtWidgets
    from PyQt5.QtWidgets import QMainWindow, QApplication
    import Dialog1
    import Dialog2
    import sys
    
    
    class Ui_Form(object): #这是用PyQt Designer生成的代码,很简单的,拖动控件,生成ui文件,然后UIC转换成py文件
      def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(440, 310)
        self.form = Form
        self.btn_d1 = QtWidgets.QPushButton(Form)
        self.btn_d1.setGeometry(QtCore.QRect(60, 140, 75, 23))
        self.btn_d1.setObjectName("btn_d1")
        self.btn_d2 = QtWidgets.QPushButton(Form)
        self.btn_d2.setGeometry(QtCore.QRect(180, 140, 75, 23))
        self.btn_d2.setObjectName("btn_d2")
        self.btn_exit = QtWidgets.QPushButton(Form)
        self.btn_exit.setGeometry(QtCore.QRect(310, 140, 75, 23))
        self.btn_exit.setObjectName("btn_exit")
    
        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)
    
      def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.btn_d1.setText(_translate("Form", "Demo1"))
        self.btn_d1.clicked.connect(self.jump_to_demo1)
        self.btn_d2.setText(_translate("Form", "Demo2"))
        self.btn_d2.clicked.connect(self.jump_to_demo2)
        self.btn_exit.setText(_translate("Form", "Exit"))
        self.btn_exit.clicked.connect(self.exit)
    
      def jump_to_demo1(self):    #这一块注意,是重点从主界面跳转到Demo1界面,主界面隐藏,如果关闭Demo界面,主界面进程会触发self.form.show()会再次显示主界面
        self.form.hide()      #如果没有self.form.show()这一句,关闭Demo1界面后就会关闭程序
        form1 = QtWidgets.QDialog()
        ui = Dialog1.Ui_Dialog1()
        ui.setupUi(form1)
        form1.show()
        form1.exec_()
        self.form.show()
    
      def jump_to_demo2(self):
        self.form.hide()
        form2 = QtWidgets.QDialog()
        ui = Dialog2.Ui_Dialog2()
        ui.setupUi(form2)
        form2.show()
        form2.exec_()
        self.form.show()
    
      def exit(self):
        self.form.close()
    
    
    if __name__ == "__main__":
      app = QApplication(sys.argv)
      form = QtWidgets.QWidget()
      window = Ui_Form()
      window.setupUi(form)
      form.show()
      sys.exit(app.exec_())

    二、跳转界面Demo1

    # -*- coding: utf-8 -*-
    
    # Form implementation generated from reading ui file 'Dialog1.ui'
    #
    # Created by: PyQt5 UI code generator 5.10.1
    #
    # WARNING! All changes made in this file will be lost!
    
    from PyQt5 import QtCore, QtGui, QtWidgets
    
    class Ui_Dialog1(object):
      def setupUi(self, Dialog1):
        Dialog1.setObjectName("Dialog1")
        Dialog1.resize(400, 300)
        self.dialog=Dialog1
        self.pushButton = QtWidgets.QPushButton(Dialog1)
        self.pushButton.setGeometry(QtCore.QRect(140, 140, 75, 23))
        self.pushButton.setObjectName("pushButton")
    
        self.retranslateUi(Dialog1)
        QtCore.QMetaObject.connectSlotsByName(Dialog1)
    
      def retranslateUi(self, Dialog1):
        _translate = QtCore.QCoreApplication.translate
        Dialog1.setWindowTitle(_translate("Dialog1", "Dialog"))
        self.pushButton.setText(_translate("Dialog1", "Jump to main"))
        self.pushButton.clicked.connect(self.jump_to_main)
    
      def jump_to_main(self):
        self.dialog.close()

    三、跳转界面Demo2

    # -*- coding: utf-8 -*-
    
    # Form implementation generated from reading ui file 'Dialog2.ui'
    #
    # Created by: PyQt5 UI code generator 5.10.1
    #
    # WARNING! All changes made in this file will be lost!
    
    from PyQt5 import QtCore, QtGui, QtWidgets
    from PyQt5.QtWidgets import QMainWindow, QDialog, QApplication
    import sys
    
    
    class Ui_Dialog2(object):
      def setupUi(self, Dialog2):
        Dialog2.setObjectName("Dialog2")
        Dialog2.resize(400, 300)
        self.dialog = Dialog2
        self.pushButton = QtWidgets.QPushButton(Dialog2)
        self.pushButton.setGeometry(QtCore.QRect(140, 160, 75, 23))
        self.pushButton.setObjectName("pushButton")
    
        self.retranslateUi(Dialog2)
        QtCore.QMetaObject.connectSlotsByName(Dialog2)
    
      def retranslateUi(self, Dialog2):
        _translate = QtCore.QCoreApplication.translate
        Dialog2.setWindowTitle(_translate("Dialog2", "Dialog"))
        self.pushButton.setText(_translate("Dialog2", "Jump to main"))
        self.pushButton.clicked.connect(self.go_main)
    
      def go_main(self):
        self.dialog.close()
    
    if __name__ == "__main__":
      app = QApplication(sys.argv)
      form = QtWidgets.QDialog()
      ui = Ui_Dialog2()
      ui.setupUi(form)
      form.show()
      sys.exit(app.exec_())

    到此这篇关于PyQt5实现界面跳转的示例代码的文章就介绍到这了,更多相关PyQt5 界面跳转内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • pyqt5 实现多窗口跳转的方法
    • Pyqt5 实现跳转界面并关闭当前界面的方法
    • pyqt5使用按钮进行界面的跳转方法
    上一篇:pandas DataFrame 赋值的注意事项说明(index)
    下一篇:python广度搜索解决八数码难题
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PyQt5实现界面(页面)跳转的示例代码 PyQt5,实现,界面,页面,跳转,