0
点赞
收藏
分享

微信扫一扫

pyqt5显示窗口的方式

余寿 2022-03-22 阅读 39
qt

多窗口显示是ui制作重要的环节

1.0主窗口显示(只有显示,没有槽,没有ui)

import binascii
import sys
from PyQt5 import QtWidgets, QtCore
from PyQt5.QtWidgets import QMainWindow, QApplication, QWidget, QMessageBox, QFileDialog, QDialog,QAction
from PyQt5.QtCore import QTimer
import time
import serial
import serial.tools.list_ports
import threading
from trunk import Ui_MainWindow
from tr2_0 import Ui_Dialog
from crc import Ui_MainWindow_crc
from bytes_m import Ui_bytes_m
class con(QDialog, Ui_Dialog): 
    def __init__(self):
        super(con, self).__init__()
        self.setupUi(self)  # 添加控件
if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    tr = trunk()
    tr.show()
    sys.exit(app.exec_())

2.0子窗口显示

子窗口是必备的,毕竟主窗口大小有限,不能容纳太多内容

class con(QMainWindow,Ui_zichuangkou):
    def __init__(self):
        super(con, self).__init__()
        self.setupUi(self)
    def open(self):
        self.show()
if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    tr = trunk()
    co=con()
    t.pushButton_3.clicked.connect(c.open)
    tr.show()
    sys.exit(app.exec_())

案例分析:简单的窗口小循环

import binascii
import sys
from PyQt5 import QtWidgets, QtCore
from PyQt5.QtWidgets import QMainWindow, QApplication, QWidget, QMessageBox, QFileDialog, QDialog,QAction
from PyQt5.QtCore import QTimer
import time
import serial
import serial.tools.list_ports
import threading
from chuangkou_open import Ui_Dialog
from chuangkou_open2 import Ui_Dialog2
from chuangkou_open3 import Ui_Dialog3
from chuangkou_open4 import Ui_Dialog4
from chuangkou_open5 import Ui_Dialog5
from chuangkou_open6 import Ui_Dialog6
from chuangkou_open7 import Ui_Dialog7



class tr1(QDialog,Ui_Dialog):
    def __init__(self):
        super(tr1, self).__init__()
        self.setupUi(self)
    def open(self):
        self.show()

class tr2(QDialog,Ui_Dialog2):
    def __init__(self):
        super(tr2, self).__init__()
        self.setupUi(self)
    def open(self):
        self.show()

class tr3(QDialog,Ui_Dialog3):
    def __init__(self):
        super(tr3, self).__init__()
        self.setupUi(self)
    def open(self):
        self.show()

class tr4(QDialog,Ui_Dialog4):
    def __init__(self):
        super(tr4, self).__init__()
        self.setupUi(self)
    def open(self):
        self.show()

class tr5(QDialog,Ui_Dialog5):
    def __init__(self):
        super(tr5, self).__init__()
        self.setupUi(self)
    def open(self):
        self.show()

class tr6(QDialog,Ui_Dialog6):
    def __init__(self):
        super(tr6, self).__init__()
        self.setupUi(self)
    def open(self):
        self.show()

class tr7(QDialog,Ui_Dialog7):
    def __init__(self):
        super(tr7, self).__init__()
        self.setupUi(self)
    def open(self):
        self.show()
    def f(self):
        QMessageBox.information(self,"zyj‘s blog","ok!")


if __name__=="__main__":
    app=QtWidgets.QApplication(sys.argv)
    t1=tr1()
    t2 = tr2()
    t3 = tr3()
    t4 = tr4()
    t5 = tr5()
    t6 = tr6()
    t7 = tr7()
    t1.show()
    t1.pushButton.clicked.connect(t2.open)
    t2.pushButton.clicked.connect(t3.open)
    t3.pushButton.clicked.connect(t4.open)
    t4.pushButton.clicked.connect(t5.open)
    t5.pushButton.clicked.connect(t6.open)
    t6.pushButton.clicked.connect(t7.open)
    t7.pushButton.clicked.connect(t7.f)
    sys.exit(app.exec_())

给个ui的例子,下面是chuangkou_open7.py的文档,只要复制,然后把文件名字和文件内的主函数class Ui_Dialog7(object):的数字改了就可以了。

# -*- coding: utf-8 -*-
from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_Dialog7(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(400, 300)
        self.gridLayout = QtWidgets.QGridLayout(Dialog)
        self.gridLayout.setObjectName("gridLayout")
        self.pushButton = QtWidgets.QPushButton(Dialog)
        self.pushButton.setObjectName("pushButton")
        self.gridLayout.addWidget(self.pushButton, 0, 0, 1, 1)

        self.retranslateUi(Dialog)
        QtCore.QMetaObject.connectSlotsByName(Dialog)

    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
        self.pushButton.setText(_translate("Dialog", "打开一个界面"))

举报

相关推荐

0 条评论