跳到主要内容

基础框架

基础框架没有UI部分(除了框架提供的基本UI,如对话框,toast等),完成了系统所需的Socket通讯、HTTP通讯、加解密、数据代理、模块管理、插件管理、接口管理、缓存管理、消息管理、日志管理、主题管理等。

目录结构

一级目录分为bin和src,分别二进制文件和源代码目录,程序编译后根据编译器版本和环境生成不同的临时目录。

其中源代码目录下Modules目录用于存放每个相对独立的功能模块代码。一个模块用一个目录管理,如:PBModule等。

可执行文件目录

项目产生的可执行文件和运行所需配置、字典、资源等相关文件,一般文件夹以bin命名

目录说明
bin\Config存放框架配置文件和配置参数文件
bin\Font自定义字体目录
bin\Lang多语言文件夹,一种语言一个文件夹,如:chs、cht、en等
bin\Modules模块文件夹,一个模块一个文件夹管理,由于某些系统采用DLL模块方式,文件夹下存放模块使用的字典、资源和配置文件等
bin\Plugins插件目录,插件目录名称不受限制,启用或关闭插件修改该目录下的Plugins.ini文件
bin\Resource框架资源文件夹,包括图标、图片、Actions图标等
bin\Skins系统主题目录,一个主题一个目录,主题命名修改该目录下的Skin.ini文件,主题目录下存放主题使用的图标、图片和主题配置文件Skin.xml

bin目录下,在程序运行后,会动态创建一些临时目录,如Backup(升级备份目录)、Update(升级目录)、Logs(系统日志目录)、Users(用户操作目录)等。另外在程序打包后,还会有许多QT相关的库文件和资源文件。

├─Config
├─Fonts
├─Lang
├─Modules
│ └─PBModule
│ ├─Charts
│ │ └─js
│ ├─Data
│ ├─Layout
│ ├─Resource
│ │ ├─Buttons
│ │ ├─img_Big
│ │ ├─img_Max
│ │ └─img_Small
│ └─Xmls
├─Plugins
│ ├─Debug
│ ├─creater
│ └─worker
├─Resource
│ ├─Actions
│ ├─img_Big
│ ├─img_Max
│ └─img_Small
└─Skins
├─Default
├─Gray
└─Perfect
├─Buttons
├─Icons
└─Images

公共目录

公共源代码目录,源代码中不含具体处理业务,只提供项目所需的底层代码、公共代码、公共接口及各种基类,如:公共接口定义、网络通信、加解密、字典、缓存处理、基础类、公共模块、公共插件等。该部分源代码会被具体项目引用(一般通过pri引用到工程中),不建议修改该部分代码(除非有必要),该部分代码不做具体业务,可以通过继承或重载的方式实现。

该目录下也会有一些独立的模块和插件,如日志插件、Debug插件、IE插件、升级插件、代理插件等,该部分插件会有一些资源文件、配置文件、字典文件等,所以公共目录下也会有一个可执行文件目录(如:debug,ie,proxy等),在该目录下会存放各个插件所需的文件,如有项目需要时,将对应的插件或模块目录复制到项目对应的目录下面即可。

公共目录一般位于项目的同级Common目录下面。

目录说明
core框架核心源码,存放cache、DB、Debug、Dicts、intf、utils、ui、message,qrc等相关源码,包含缓存管理、数据库操作、系统测试、数据字典、数据表格、接口、日志管理、用户管理、路径管理、消息管理、资源管理等操作,谨慎修改。引用时通过该目录下的core.pri
device设备相关源码,如USB、加密狗等
framework框架相关源码,如UI、Network、Intf、utils等,还包含环境检测、模块(插件)管理、消息管理等相关的代码,可通过framework.pri引用
framework\network框架网络通信源码,包含Intf、Packet、Protocol、Proxy等目录,处理网络接口、协议、加解密、代理、Socket等相关源码,可通过network.pri引用
modules业务功能模块源码,如:PBModule
plugins插件源码,如:Debug、creater、worker等插件
quickqml模式下使用的公共代码,如core、network、ui等相关代码,可通过quick.pri引用
script公共处理脚本,如js、python的调用等

该表只列出了一级目录,每个目录下根据不同类型会也用相应的目录管理,如UI(一般又分widgets)、Units、intf等目录,其中目录下的qrc目录存放资源文件(如图片、字体、qss样式等)

├─core
│ ├─db
│ ├─dbg
│ ├─intf
│ │ ├─base
│ │ └─core
│ ├─message
│ ├─qrc
│ │ └─common.images
│ ├─ui
│ └─utils
├─framework
│ ├─intf
│ │ ├─base
│ │ └─net
│ ├─network
│ │ ├─Encrypt
│ │ ├─Net
│ │ │ ├─http
│ │ │ ├─Socket
│ │ │ │ └─Packet
│ │ │ └─udp
│ │ ├─Protocol
│ │ ├─Proxy
│ │ └─zlib
│ │ └─lib
│ ├─qrc
│ │ ├─font
│ │ ├─framework.images
│ │ ├─qm
│ │ └─qt
│ │ └─etc
│ ├─ui
│ └─utils
│ ├─check
│ ├─handler
│ ├─manager
│ └─web
├─plugins
├─quick
│ └─utils
│ ├─core
│ ├─network
│ └─ui
└─script
├─js
└─python

源代码目录

项目源代码目录(src),存放项目所需的UI、单元文件等,而项目的用到的公共单元、UI、网络通信、公共模块、插件、日志等,需要通过外部引用到项目中。

目录说明
src\Core一般会引用公共代码,如有个性化处理可在该目录下增加
src\FrameWork框架相关源码,外部引用
src\Modules业务功能模块源码,如:XXModule,业务模块下
src\Network框架网络通信源码,外部引用
src\Plugins插件源码,个性化插件,公共插件可通过外部引入
src\ui项目用到的UI文件、小部件(widgets)等
src\utils项目用到的单元文件
src\qrc资源文件,如字体、图片、样式文件等

组件、公共单元

封装了许多组件、公共单元、函数、包等,工程中通过include将所需pri包引入到系统中,在pro通过INCLUDEPATH加入包路径引入工程,就可以使用了。

常用包framework.pribase.priintf.pripublic.prinetwork.pricore.priqui.prilog4qt.pri等,分别包含了日志管理、接口管理、网络通讯等相关单元及接口文件,具体使用可参考开发说明书

公共目录

公共源代码目录,源代码中不含具体处理业务,只提供项目所需的底层代码、公共代码、公共接口及各种基类,如:公共接口定义、网络通信、加解密、字典、缓存处理、基础类、公共模块、公共插件等。该部分源代码会被具体项目引用(一般通过pri引用到工程中),不建议修改该部分代码(除非有必要),该部分代码不做具体业务,可以通过继承或重载的方式实现。

该目录下也会有一些独立的模块和插件,如日志插件、Debug插件、IE插件、升级插件、代理插件等,该部分插件会有一些资源文件、配置文件、字典文件等,所以公共目录下也会有一个可执行文件目录(如:debug,ie,proxy等),在该目录下会存放各个插件所需的文件,如有项目需要时,将对应的插件或模块目录复制到项目对应的目录下面即可。

公共目录一般位于项目的同级Common目录下面。

目录说明
core框架核心源码,存放cache、DB、Debug、Dicts、intf、utils、ui、message,qrc等相关源码,包含缓存管理、数据库操作、系统测试、数据字典、数据表格、接口、日志管理、用户管理、路径管理、消息管理、资源管理等操作,谨慎修改。引用时通过该目录下的core.pri
device设备相关源码,如USB、加密狗等
framework框架相关源码,如UI、Network、Intf、utils等,还包含环境检测、模块(插件)管理、消息管理等相关的代码,可通过framework.pri引用
framework\network框架网络通信源码,包含Intf、Packet、Protocol、Proxy等目录,处理网络接口、协议、加解密、代理、Socket等相关源码,可通过network.pri引用
plugins公共插件源码,如:debug、cache、logv等插件
quickqml模式下使用的公共代码,如core、network、ui等相关代码,可通过quick.pri引用
script公共处理脚本,如js、python的调用等
update系统升级监测类,引用后监测系统版本是否需要升级,通过update.pri引用

另外,在common的同级目录有一个controls目录,用于存放自定义组件和第三方组件、包等,如log4、protobuf、zlib、q-controls(自己封装的基础组件库)等。

常用组件

序号图标组件名称说明
1PanelWidget容器组件
2ProgressBar进度条组件
3Battery电池电量使用显示组件
4ColorProgressBar颜色进度条组件
5RoundProgressBar圆形进度条组件
6WaterProcess水波纹进度条组件
7CircleWait圆形(小圆)动画等待组件
8DonutWait圆形等待组件
9LineWait圆形(线)动画等待组件
10PieWait饼图旋转等待组件
11TaiChiWait旋转太极图等待组件
12ZoomCircleWait两个圆交替大小等待组件
13QKeyboard标准(62键)虚拟键盘组件
14QRandomKeyboard随机(52键)虚拟键盘组件
15QNumberKeyboard数字(11键)虚拟键盘组件
16CPUWidgetCPU使用率显示组件
17MemoryWidget内存使用率显示组件
18TBlinkingLabel闪烁文本标签组件
19LunarCalendarWidget中文日历组件
20VerificationCode图形验证码组件
21THexView显示十六进制数据组件
22IPAddressIP地址显示组件
23TLabel标签组件
24TLabelButtonEdit带有标签和带有按钮的输入框组件
25TLabelComboBox带有标签的下拉列表框组件
26TLabelDoubleSpinBox带有标签的浮点数输入框组件
27TLabelEdit带有标签的文本输入框组件
28TLabelGrid可同时显示Caption和Value的组件
29TLabelMaskEdit带有标签的Mask文本输入框组件
30TLabelNumberEdit带有标签的数字输入框组件
31TLabelSpinBox带有标签的整数输入框组件
32TNumberEdit数字输入框,带单元(如:元)组件
33TMoneyWidget显示大写金额组件
34LightButton灯光圆形按钮组件
35NavButton导航按钮组件
36ImageSwitch图形开关按钮组件
37SwitchButton开关按钮组件
38PageWidget分页组件
39TPasswordLevelWidget显示密码强度组件
40SignalWidget网络信号显示组件
41StarView星级评价组件
42TabSet标签页组件
43RotateCircle旋转圆组件
44RollingLabel滚动提示标签组件
45AnimationButton动画按钮组件
最后更新时间: 2026/7/31 13:40:36|访问次数: 0|豫ICP备2025159864号|