佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > PyQt5實(shí)現(xiàn)界面(頁面)跳轉(zhuǎn)的示例代碼

PyQt5實(shí)現(xiàn)界面(頁面)跳轉(zhuǎn)的示例代碼

熱門標(biāo)簽:Win7旗艦版 企業(yè)做大做強(qiáng) 電話運(yùn)營中心 呼叫中心市場需求 硅谷的囚徒呼叫中心 百度AI接口 語音系統(tǒng) 客戶服務(wù)

網(wǎng)上關(guān)于PyQt5的教程很少,特別是界面跳轉(zhuǎn)這一塊兒,自己研究了半天,下來和大家分享一下

一、首先是主界面

# -*- 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!
#要注意的是跳轉(zhuǎn)界面第二個(gè)必須使用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生成的代碼,很簡單的,拖動(dòng)控件,生成ui文件,然后UIC轉(zhuǎn)換成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):    #這一塊注意,是重點(diǎn)從主界面跳轉(zhuǎn)到Demo1界面,主界面隱藏,如果關(guān)閉Demo界面,主界面進(jìn)程會(huì)觸發(fā)self.form.show()會(huì)再次顯示主界面
    self.form.hide()      #如果沒有self.form.show()這一句,關(guān)閉Demo1界面后就會(huì)關(guān)閉程序
    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_())

二、跳轉(zhuǎn)界面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()

三、跳轉(zhuǎn)界面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_())

到此這篇關(guān)于PyQt5實(shí)現(xiàn)界面跳轉(zhuǎn)的示例代碼的文章就介紹到這了,更多相關(guān)PyQt5 界面跳轉(zhuǎn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • pyqt5 實(shí)現(xiàn)多窗口跳轉(zhuǎn)的方法
  • Pyqt5 實(shí)現(xiàn)跳轉(zhuǎn)界面并關(guān)閉當(dāng)前界面的方法
  • pyqt5使用按鈕進(jìn)行界面的跳轉(zhuǎn)方法

標(biāo)簽:山西 山西 濟(jì)南 喀什 安康 長沙 海南 崇左

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PyQt5實(shí)現(xiàn)界面(頁面)跳轉(zhuǎn)的示例代碼》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    霍邱县| 乾安县| 墨江| 浦江县| 孙吴县| 东光县| 华亭县| 紫金县| 额济纳旗| 合作市| 沅陵县| 罗山县| 元江| 宁德市| 申扎县| 万安县| 湾仔区| 朝阳市| 岳阳县| 潢川县| 隆昌县| 兴业县| 喜德县| 西畴县| 吉首市| 大竹县| 广丰县| 濮阳市| 太和县| 东光县| 黄骅市| 澎湖县| 南部县| 奉化市| 芒康县| 兴安盟| 沾益县| 宜州市| 周至县| 军事| 锡林郭勒盟|