PyQt5从1到2:PyQt5实现多窗体开发

一、简介

二、详介

1、项目Ui文件夹下新建主窗体MainWindow.ui(类型Main Window),并编译成py文件

2、项目添加MainForm.py对应MainWindow.ui,执行即可显示主窗体

from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QMainWindow

import sys


# Ui
from Ui.MainWindow import Ui_MainWindow


class MainWindow(QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__()
        self.setupUi(self)


if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)

    ui = MainWindow()
    ui.show()

    sys.exit(app.exec_())

3、项目Ui文件夹下新建子窗体ChildWidget.ui(类型Widgt),并编译成py文件

4、主窗体MainWindow.ui(类型Main Window)中添加布局(自己随意),本文采用Vertical Layout布局,并重命名为ChildForm(自己随意),并编译成py文件

5、项目添加ChildForm.py对应ChildWidget.ui

from PyQt5.QtWidgets import QWidget

from Ui.ChildWidgt import Ui_ChildWidgt


class CChildForm(QWidget, Ui_ChildWidgt):
    def __init__(self):
        super(CChildForm, self).__init__()
        self.setupUi(self)

6、MainForm.py中添加三行代码,如注释所示

# 添加子窗口类
from ChildForm import CChildForm
# 初始化子窗口
self.cChildForm = CChildForm()
# 添加子窗口
self.ChildForm.addWidget(self.cChildForm)
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QMainWindow

import sys


# Ui
from Ui.MainWindow import Ui_MainWindow

# 添加子窗口类
from ChildForm import CChildForm


class MainWindow(QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__()
        self.setupUi(self)

        # 初始化子窗口
        self.cChildForm = CChildForm()

        # 添加子窗口
        self.ChildForm.addWidget(self.cChildForm)


if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)

    ui = MainWindow()
    ui.show()

    sys.exit(app.exec_())

猜你喜欢

转载自blog.csdn.net/sinat_29634715/article/details/84110639