python QT5 子界面的设计

版权所有:https://blog.youkuaiyun.com/fightingxyz/article/details/90598136

主界面为Main Window;子界面为Dialog。不同出现同级的两个

画界面简单,麻烦的是调取子界面。学习了几天,收获了两种方法,共享一下。不喜勿喷。

第一种:(主要看运行部分的调用,使用的是按钮来触发子界面)

from PyQt5.QtCore import QTimer,Qt,pyqtSignal, QObject
from PyQt5.QtGui import QImage, QPixmap,QMovie
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QFileDialog,QTabWidget, QMessageBox,QDesktopWidget, QLabel, QGridLayout
from jiemian_zhu import Ui_MainWindow
from jiemian_fu import Ui_Dialog
import time
import sys
import numpy as np
import cv2

class mywindow(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self):
        super(mywindow, self).__init__()
        # self.setupUi(self)
        # QMainWindow.__init__(self)
        self.main_ui = Ui_MainWindow()
        self.main_ui.setupUi(self)

class childwindow(QtWidgets.QDialog, Ui_Dialog):
    def __init__(self):
        super(childwindow, self).__init__()
        self.child = Ui_Dialog()
        self.child.setupUi(self)
if __name__ == "__main__":
    app=QtWidgets.QApplication(sys.argv)
    ui = mywindow()
    ui.setWindowTitle('Simple')
    #开子界面,点击弹出子界面
    child =childwindow()
    push=ui.main_ui.pushButton
    push.clicked.connect(child.show)
    ui.show()
    sys.exit(app.exec_())

 

第二种:在Main Window中的(如上myWindow中调用)

class childWindow(QtWidgets.QDialog,Ui_Dialog):
    def __init__(self):
        super(childWindow, self).__init__()
        self.setupUi(self)
class mywindow(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self):
        super(mywindow, self).__init__()
        self.setupUi(self)

        self.second_window = childWindow()  # 实例化子界面
        self.actionjigou.triggered.connect(self.xianshiqwe)  # 槽函数连接

    def xianshiqwe(self):
        self.second_window.show()

主要差别就是在一个在类中调用。我是做的时候发现出了点问题,记录下来,共享。大佬勿喷

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值