|
7 | 7 |
|
8 | 8 | 这个仓库包含了丰富的 Qt 示例项目,覆盖了从基础 UI 组件到高级网络编程和系统工具的各种功能。每个示例都是独立完整的,可以作为您 Qt 项目的参考或开发起点。 |
9 | 9 |
|
10 | | -## 示例项目 |
| 10 | +## 目录 |
11 | 11 |
|
12 | | -### [AutoStartManager](src/AutoStartManager/) - 开机自启动管理 |
13 | | - |
14 | | -- **Windows**:用户注册表 `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run`,系统注册表 `HKEY_LOCAL_MACHINE\...\Run` |
15 | | -- **macOS**:`~/Library/LaunchAgents/com.{appname}.plist` |
16 | | -- **Linux**:`~/.config/autostart/{appname}.desktop` |
| 12 | +- [UI 控件](#ui-控件) |
| 13 | +- [数据可视化](#数据可视化) |
| 14 | +- [工具与系统](#工具与系统) |
| 15 | +- [网络与数据库](#网络与数据库) |
| 16 | +- [打包部署](#打包部署) |
| 17 | +- [资源](#资源) |
17 | 18 |
|
18 | | - |
| 19 | +## UI 控件 |
19 | 20 |
|
20 | 21 | ### [Battery](src/Battery/) - 电池电量显示控件 |
21 | 22 |
|
|
25 | 26 |
|
26 | 27 |  |
27 | 28 |
|
28 | | -### [BatteryQuick](src/BatteryQuick/) - 电池电量显示控件 (QtQuick 版本) |
29 | | - |
30 | | - |
| 29 | +> **QtQuick 版本**:[BatteryQuick](src/BatteryQuick/) - 电池电量显示控件 (QtQuick 版本) |
| 30 | +> |
| 31 | +>  |
31 | 32 |
|
32 | 33 | ### [Bubble](src/Bubble/) - 气泡对话框控件 |
33 | 34 |
|
|
53 | 54 |
|
54 | 55 |  |
55 | 56 |
|
56 | | -### [Chart](src/Chart/) - 数据可视化图表(QtCharts 模块) |
57 | | - |
58 | | -- 多种图表类型:面积图、折线图、饼图、柱状图 |
59 | | -- 实时动态图表 |
60 | | -- 自定义标注和工具提示 |
61 | | - |
62 | | - |
63 | | - |
64 | | - |
65 | | -### [CheckableTreeItem](src/CheckableTreeItem/) - 层次化复选框树 |
66 | | - |
67 | | -- 父子节点复选框状态自动联动 |
68 | | -- 支持三态显示(选中/未选中/部分选中) |
69 | | -- 包含文件系统树结构演示 |
70 | | - |
71 | | - |
72 | | - |
73 | | -### [CircularProgress](src/CircularProgress/) - 圆形进度条控件 |
74 | | - |
75 | | -- 支持圆弧进度显示和百分比/数值显示 |
76 | | -- 可自定义起始角度和结束角度 |
77 | | -- 支持动画过渡效果和多种颜色定制 |
78 | | -- 提供丰富的信号和槽函数用于状态监控 |
79 | | - |
80 | | - |
81 | | - |
82 | | -### [CircularProgressQuick](src/CircularProgressQuick/) - 圆形进度条控件(QtQuick 版本) |
83 | | - |
84 | | - |
85 | | - |
86 | 57 | ### [Clock](src/Clock/) - 模拟时钟控件 |
87 | 58 |
|
88 | 59 | - 支持秒针平滑动画效果 |
|
91 | 62 |
|
92 | 63 |  |
93 | 64 |
|
94 | | -### [ClockQuick](src/ClockQuick/) - 模拟时钟控件(QtQuick 版本) |
95 | | - |
96 | | - |
| 65 | +> **QtQuick 版本**:[ClockQuick](src/ClockQuick/) - 模拟时钟控件(QtQuick 版本) |
| 66 | +> |
| 67 | +>  |
97 | 68 |
|
98 | 69 | ### [DashBoard](src/DashBoard/) - 仪表盘控件 |
99 | 70 |
|
|
103 | 74 |
|
104 | 75 |  |
105 | 76 |
|
106 | | -### [DashBoardQuick](src/DashBoardQuick/) - 仪表盘控件(QtQuick 版本) |
107 | | - |
108 | | - |
109 | | - |
110 | | -### [FlowLayout](https://doc.qt.io/qt-6/qtwidgets-layouts-flowlayout-example.html) - Qt 官方 Flow Layout Example |
111 | | - |
112 | | -### [GridViewModel](src/GridViewModel/) - 自适应网格布局 |
113 | | - |
114 | | -- 基于 Qt Model-View 架构的网格布局组件 |
115 | | -- 支持自适应列数和自定义单元格 |
116 | | -- 内置多选功能和流畅的交互体验 |
117 | | - |
118 | | - |
119 | | - |
120 | | -### [HttpClient](src/HttpClient/) - HTTP 客户端 |
121 | | - |
122 | | -- 支持 GET/POST/PUT/DELETE 方法 |
123 | | -- 文件上传下载,支持断点续传和进度回调 |
124 | | -- JSON 请求和响应自动处理 |
125 | | -- 超时控制和 SSL 证书配置 |
126 | | - |
127 | | -### [LifecycleCallback](src/LifecycleCallback/) - 生命周期感知的回调包装器 |
128 | | - |
129 | | -- 自动检测对象销毁,避免悬空回调 |
130 | | -- 支持 QObject、std::shared_ptr 和自由函数 |
131 | | -- 类型安全,提供便捷创建函数 |
| 77 | +> **QtQuick 版本**:[DashBoardQuick](src/DashBoardQuick/) - 仪表盘控件(QtQuick 版本) |
| 78 | +> |
| 79 | +>  |
132 | 80 |
|
133 | 81 | ### [LoadingIndicator](src/LoadingIndicator/) - 加载指示器控件 |
134 | 82 |
|
|
138 | 86 |
|
139 | 87 |  |
140 | 88 |
|
141 | | -### [LoadingIndicatorQuick](src/LoadingIndicatorQuick/) - 加载指示器控件 (QtQuick 版本) |
142 | | - |
143 | | - |
144 | | - |
145 | | -### [LoadingOverlayQuick](src/LoadingOverlayQuick/) - 加载覆盖层控件 (QtQuick 版本) |
146 | | - |
147 | | -- 基于 QtQuick Popup 的轻量级加载覆盖层组件 |
148 | | -- 使用系统原生 BusyIndicator,确保平台一致性 |
149 | | -- 模态对话框设计,阻止用户交互 |
150 | | - |
151 | | - |
152 | | - |
153 | | -### [LogAsync](src/utils/logasync.h) - 异步日志记录系统 |
154 | | - |
155 | | -- 独立线程处理日志写入,避免阻塞主线程 |
156 | | -- 支持控制台输出、文件记录或两者同时输出 |
157 | | -- 按大小和时间自动滚动日志文件,支持自动清理旧文件 |
| 89 | +> **QtQuick 版本**:[LoadingIndicatorQuick](src/LoadingIndicatorQuick/) - 加载指示器控件 (QtQuick 版本) |
| 90 | +> |
| 91 | +>  |
| 92 | +> |
| 93 | +> **相关控件**:[LoadingOverlayQuick](src/LoadingOverlayQuick/) - 加载覆盖层控件 (QtQuick 版本) — 基于 QtQuick Popup 的轻量级加载覆盖层组件,使用系统原生 BusyIndicator,模态对话框设计 |
| 94 | +> |
| 95 | +>  |
158 | 96 |
|
159 | 97 | ### [NavigationProgressBar](src/NavigationProgressBar/) - 导航进度条控件 |
160 | 98 |
|
|
164 | 102 |
|
165 | 103 |  |
166 | 104 |
|
167 | | -### [PasswordInputQuick](src/PasswordInputQuick/) - 密码输入框控件(QtQuick 版本) |
168 | | - |
169 | | - |
170 | | - |
171 | 105 | ### [PasswordLineEdit](src/PasswordLineEdit/) - 密码输入框控件 |
172 | 106 |
|
173 | 107 | - 支持显示/隐藏密码切换功能 |
|
176 | 110 |
|
177 | 111 |  |
178 | 112 |
|
| 113 | +> **QtQuick 版本**:[PasswordInputQuick](src/PasswordInputQuick/) - 密码输入框控件 (QtQuick 版本) |
| 114 | +> |
| 115 | +>  |
| 116 | +
|
179 | 117 | ### [ProgressBar](src/ProgressBar/) - 线性进度条控件 |
180 | 118 |
|
181 | 119 | - 支持动画过渡效果,可自定义动画时长 |
|
184 | 122 |
|
185 | 123 |  |
186 | 124 |
|
187 | | -### [ReactorServer](src/ReactorServer/) - 多线程 Reactor 模式 TCP 服务器 |
188 | | - |
189 | | -- 基于 Reactor 设计模式的高性能 TCP 服务器框架 |
190 | | -- 主从 Reactor 架构:主线程接受连接,工作线程处理 I/O |
191 | | -- 内置线程池和负载均衡,自动分配连接到空闲线程 |
192 | | - |
193 | | -### [SqliteWAL](src/SqliteWAL/) - SQLite 预写式日志 |
194 | | - |
195 | | -- 多线程 SQLite 数据库操作 |
196 | | -- WAL 模式实现 |
197 | | -- 线程安全写入操作 |
198 | | - |
199 | 125 | ### [SwitchButton](src/SwitchButton/) - 开关按钮控件 |
200 | 126 |
|
201 | 127 | - 支持平滑的开关动画过渡效果 |
|
204 | 130 |
|
205 | 131 |  |
206 | 132 |
|
207 | | -### [SwitchDelegate](https://doc.qt.io/qt-6/zh/qtquickcontrols-customize.html#customizing-switchdelegate) - Qt 官方的开关按钮委托(QtQuick 版本) |
| 133 | +> **QtQuick 版本**:[SwitchDelegate](https://doc.qt.io/qt-6/zh/qtquickcontrols-customize.html#customizing-switchdelegate) - Qt 官方的开关按钮委托(QtQuick 版本) |
| 134 | +
|
| 135 | +## 数据可视化 |
| 136 | + |
| 137 | +### [Chart](src/Chart/) - 数据可视化图表(QtCharts 模块) |
| 138 | + |
| 139 | +- 多种图表类型:面积图、折线图、饼图、柱状图 |
| 140 | +- 实时动态图表 |
| 141 | +- 自定义标注和工具提示 |
| 142 | + |
| 143 | + |
| 144 | + |
| 145 | + |
| 146 | +### [CircularProgress](src/CircularProgress/) - 圆形进度条控件 |
| 147 | + |
| 148 | +- 支持圆弧进度显示和百分比/数值显示 |
| 149 | +- 可自定义起始角度和结束角度 |
| 150 | +- 支持动画过渡效果和多种颜色定制 |
| 151 | +- 提供丰富的信号和槽函数用于状态监控 |
| 152 | + |
| 153 | + |
| 154 | + |
| 155 | +> **QtQuick 版本**:[CircularProgressQuick](src/CircularProgressQuick/) - 圆形进度条控件(QtQuick 版本) |
| 156 | +> |
| 157 | +>  |
| 158 | +
|
| 159 | +### [CheckableTreeItem](src/CheckableTreeItem/) - 层次化复选框树 |
| 160 | + |
| 161 | +- 父子节点复选框状态自动联动 |
| 162 | +- 支持三态显示(选中/未选中/部分选中) |
| 163 | +- 包含文件系统树结构演示 |
| 164 | + |
| 165 | + |
| 166 | + |
| 167 | +### [GridViewModel](src/GridViewModel/) - 自适应网格布局 |
| 168 | + |
| 169 | +- 基于 Qt Model-View 架构的网格布局组件 |
| 170 | +- 支持自适应列数和自定义单元格 |
| 171 | +- 内置多选功能和流畅的交互体验 |
| 172 | + |
| 173 | + |
| 174 | + |
| 175 | +## 工具与系统 |
| 176 | + |
| 177 | +### [AutoStartManager](src/AutoStartManager/) - 开机自启动管理 |
| 178 | + |
| 179 | +- **Windows**:用户注册表 `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run`,系统注册表 `HKEY_LOCAL_MACHINE\...\Run` |
| 180 | +- **macOS**:`~/Library/LaunchAgents/com.{appname}.plist` |
| 181 | +- **Linux**:`~/.config/autostart/{appname}.desktop` |
| 182 | + |
| 183 | + |
| 184 | + |
| 185 | +### [LifecycleCallback](src/LifecycleCallback/) - 生命周期感知的回调包装器 |
| 186 | + |
| 187 | +- 自动检测对象销毁,避免悬空回调 |
| 188 | +- 支持 QObject、std::shared_ptr 和自由函数 |
| 189 | +- 类型安全,提供便捷创建函数 |
| 190 | + |
| 191 | +### [LogAsync](src/utils/logasync.h) - 异步日志记录系统 |
| 192 | + |
| 193 | +- 独立线程处理日志写入,避免阻塞主线程 |
| 194 | +- 支持控制台输出、文件记录或两者同时输出 |
| 195 | +- 按大小和时间自动滚动日志文件,支持自动清理旧文件 |
208 | 196 |
|
209 | 197 | ### [WindowsIntegration](src/WindowsIntegration/) - Windows"此电脑"集成 |
210 | 198 |
|
|
213 | 201 |
|
214 | 202 |  |
215 | 203 |
|
| 204 | +## 网络与数据库 |
| 205 | + |
| 206 | +### [HttpClient](src/HttpClient/) - HTTP 客户端 |
| 207 | + |
| 208 | +- 支持 GET/POST/PUT/DELETE 方法 |
| 209 | +- 文件上传下载,支持断点续传和进度回调 |
| 210 | +- JSON 请求和响应自动处理 |
| 211 | +- 超时控制和 SSL 证书配置 |
| 212 | + |
| 213 | +### [ReactorServer](src/ReactorServer/) - 多线程 Reactor 模式 TCP 服务器 |
| 214 | + |
| 215 | +- 基于 Reactor 设计模式的高性能 TCP 服务器框架 |
| 216 | +- 主从 Reactor 架构:主线程接受连接,工作线程处理 I/O |
| 217 | +- 内置线程池和负载均衡,自动分配连接到空闲线程 |
| 218 | + |
| 219 | +### [SqliteWAL](src/SqliteWAL/) - SQLite 预写式日志 |
| 220 | + |
| 221 | +- 多线程 SQLite 数据库操作 |
| 222 | +- WAL 模式实现 |
| 223 | +- 线程安全写入操作 |
| 224 | + |
| 225 | +## 打包部署 |
| 226 | + |
| 227 | +### [FlowLayout](https://doc.qt.io/qt-6/qtwidgets-layouts-flowlayout-example.html) - Qt 官方 Flow Layout Example |
| 228 | + |
216 | 229 | ### [packaging](src/packaging/) - 跨平台打包解决方案 |
217 | 230 |
|
218 | 231 | #### macOS 打包 |
|
224 | 237 | - [create-dmg](https://github.com/create-dmg/create-dmg):Bash 脚本; |
225 | 238 | - [node-appdmg](https://github.com/LinusU/node-appdmg):json 配置文件; |
226 | 239 | - [dmgbuild](https://pypi.org/project/dmgbuild/):Python 脚本; |
227 | | - - [entitlements.plist](packaging/macos/entitlements.plist) - 应用程序签名权限配置文件 |
| 240 | + - [entitlements.plist](src/packaging/macos/entitlements.plist) - 应用程序签名权限配置文件 |
228 | 241 | - [package.sh](src/packaging/macos/package.sh) - 主要打包脚本,这里包含签名过程,[Qt-App macOS 打包](https://github.com/RealChuan/Qt-App/tree/main/packaging/macos)这里没有签名过程 |
229 | 242 | - [utils.sh](src/packaging/macos/utils.sh) - 打包辅助函数 |
230 | 243 |
|
|
0 commit comments