python ui框架_PyQt5GUI项目程序框架

2023年2月11日12:57:39

本次介绍PyQt5 GUI应用程序框架组成,以dialogApp项目文件组成为例,其他类似。

主要做两件事情:1、窗体UI设计,主要在Qt Designer内完成;2、对应窗体业务逻辑类功能实现,在myDialog.py文件内编写实现代码。

python ui框架_PyQt5GUI项目程序框架

1、Python运行程序时会自动生成的临时文件夹_Pycache_。

2、QtApp是创建Qt C++ GUI项目Qt App所在的文件夹。\QtAPP\images目录下是Qt项目资源文件用到的图标和图片文件位置。Qt项目文件是QtApp.pro,窗体文件是Dialog.ui。

3、子文件夹QtApp下文件Dialog.ui是在Qt Creator里设计的窗体UI文件,在完成可视化窗体设计后将其覆盖dialogApp文件夹内的同名文件。每次在QtApp项目里修改了窗体文件后,应该将新的文件复制到此处并覆盖原有文件,文件内类名称为Ui_Dialog。

4、将窗体文件Dialog.ui编译转换为相应的python类定义文件,文件ui_Dialog.py是用pyuic5对文件Dialog.ui编译转换得到的python程序文件。

备注:文件uic.bat是一个批处理文件,用于复制Dialog.ui文件,并用pyuic5指令编译Dialog.ui文件而生成文件ui_Dialog.py。该命令包括了第3步复制命令,因此以上覆盖操作可省略。同时需要使用pyrcc5.exe工具将资源文件res.qrc编译为一个对应的Python文件 res_rc.py,编译后必须是原文件名后加”_rc”。res_rc.py文件里存储了图标的十六进制编码数据及相关的管理代码。

uic.bat脚本

copy .\QtApp\Dialog.ui  Dialog.ui

pyuic5 -o ui_Dialog.py Dialog.ui

pyrcc5 .\QtApp\res.qrc -o res_rc.py   #当文件多于一个或UI文件名不同,可根据需要修改文件内容

可在 PyCharm中设置快捷命令,具体可参考博客-PyCharm中如何使用Qt Designer

https://www.jianshu.com/p/1b2e6237eb3d

5、文件myDialog.py是一个对窗体进行业务逻辑操作的类的文件,文件内类的名称QmyDialog。

6、 文件appMain.py是创建应用程序和QmyDialog类窗体对象的实例,显示窗体并运行的主程序。当一个应用程序有多个窗体,并且窗体之间有数据传递时,appMain.py负责创建应用程序的主窗口,使整个应用程序结构清晰。

项目模板

myDialog.py

from PyQt5.Qt import *

from ui_Dialog import Ui_Dialog


class QmyDialog(QDialog):
    def __init__(self, parent=None):
        super().__init__(parent)  # 调用父类构造函数,创建窗体
        self.ui = Ui_Dialog()  # 创建UI对象
        self.ui.setupUi(self)  # 构造UI界面


##  ============自定义功能函数========================


##  ===========event处理函数==========================


##  ========由connectSlotsByName()自动与组件信号关联的槽函数=========


##  ==========自定义槽函数===============================


##  ============窗体测试程序 ============================
if __name__ == "__main__": 
    import sys 
    app = QApplication(sys.argv)  # 创建GUI应用程序
    form = QmyDialog()  # 创建窗体
    form.show()
    sys.exit(app.exec_())

appMain.py

# -*- coding: utf-8 -*-

##  GUI应用程序主程序入口

import sys

from PyQt5.QtWidgets import  QApplication

from myDialog import QmyDialog

app = QApplication(sys.argv)    #创建GUI应用程序
##icon = QIcon(":/icons/images/app.ico")
##app.setWindowIcon(icon)

mainform=QmyDialog()        #创建主窗体

mainform.show()             #显示主窗体

sys.exit(app.exec_()) 

窗体常用类是QWidget、QDialog和QMainWindow。至此我们了解到了整个项目基本代码框架组成,后面将学习的重点放在界面控件、类的各种接口属性和函数使用以及业务逻辑功能的实现上,接下来可以愉快地开发自己的GUI应用程序了。

  • 作者:weixin_39636079
  • 原文链接:https://blog.csdn.net/weixin_39636079/article/details/111264045
    更新时间:2023年2月11日12:57:39 ,共 2193 字。