Skip to content

Commit c6f945d

Browse files
committed
refactor(WindowsIntegration): 重构Windows此电脑集成模块并更新文档
1. 使用std::expected替代bool返回值,添加错误信息处理 2. 替换QApplication为QCoreApplication适配非GUI场景 3. 优化注册表操作的错误检查与状态反馈 4. 重构MainWindow代码,使用现代Qt语法与中文翻译 5. 重排README文档目录结构,归类现有示例项目 6. 修复打包路径的文档链接错误
1 parent f77a174 commit c6f945d

5 files changed

Lines changed: 316 additions & 271 deletions

File tree

README.md

Lines changed: 117 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,16 @@
77

88
这个仓库包含了丰富的 Qt 示例项目,覆盖了从基础 UI 组件到高级网络编程和系统工具的各种功能。每个示例都是独立完整的,可以作为您 Qt 项目的参考或开发起点。
99

10-
## 示例项目
10+
## 目录
1111

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+
- [资源](#资源)
1718

18-
![开机自启动](src/AutoStartManager/images/auto_start.png)
19+
## UI 控件
1920

2021
### [Battery](src/Battery/) - 电池电量显示控件
2122

@@ -25,9 +26,9 @@
2526

2627
![电池控件截图](src/Battery/images/battery.png)
2728

28-
### [BatteryQuick](src/BatteryQuick/) - 电池电量显示控件 (QtQuick 版本)
29-
30-
![电池控件截图](src/BatteryQuick/images/battery.png)
29+
> **QtQuick 版本**[BatteryQuick](src/BatteryQuick/) - 电池电量显示控件 (QtQuick 版本)
30+
>
31+
> ![电池控件截图](src/BatteryQuick/images/battery.png)
3132
3233
### [Bubble](src/Bubble/) - 气泡对话框控件
3334

@@ -53,36 +54,6 @@
5354

5455
![3D轮播图控件截图](src/Carousel3DView/images/carousel.png)
5556

56-
### [Chart](src/Chart/) - 数据可视化图表(QtCharts 模块)
57-
58-
- 多种图表类型:面积图、折线图、饼图、柱状图
59-
- 实时动态图表
60-
- 自定义标注和工具提示
61-
62-
![动态图表](src/Chart/picture/Chart_1.png)
63-
![滚动图表](src/Chart/picture/Chart_2.png)
64-
65-
### [CheckableTreeItem](src/CheckableTreeItem/) - 层次化复选框树
66-
67-
- 父子节点复选框状态自动联动
68-
- 支持三态显示(选中/未选中/部分选中)
69-
- 包含文件系统树结构演示
70-
71-
![层次化复选框树](src/CheckableTreeItem/images/checkable_tree.png)
72-
73-
### [CircularProgress](src/CircularProgress/) - 圆形进度条控件
74-
75-
- 支持圆弧进度显示和百分比/数值显示
76-
- 可自定义起始角度和结束角度
77-
- 支持动画过渡效果和多种颜色定制
78-
- 提供丰富的信号和槽函数用于状态监控
79-
80-
![圆形进度条控件截图](src/CircularProgress/images/circular_progress.png)
81-
82-
### [CircularProgressQuick](src/CircularProgressQuick/) - 圆形进度条控件(QtQuick 版本)
83-
84-
![圆形进度条控件截图](src/CircularProgressQuick/images/circular_progress.png)
85-
8657
### [Clock](src/Clock/) - 模拟时钟控件
8758

8859
- 支持秒针平滑动画效果
@@ -91,9 +62,9 @@
9162

9263
![时钟控件截图](src/Clock/images/clock.png)
9364

94-
### [ClockQuick](src/ClockQuick/) - 模拟时钟控件(QtQuick 版本)
95-
96-
![时钟控件截图](src/ClockQuick/images/clock.png)
65+
> **QtQuick 版本**[ClockQuick](src/ClockQuick/) - 模拟时钟控件(QtQuick 版本)
66+
>
67+
> ![时钟控件截图](src/ClockQuick/images/clock.png)
9768
9869
### [DashBoard](src/DashBoard/) - 仪表盘控件
9970

@@ -103,32 +74,9 @@
10374

10475
![仪表盘控件截图](src/DashBoard/images/dashboard.png)
10576

106-
### [DashBoardQuick](src/DashBoardQuick/) - 仪表盘控件(QtQuick 版本)
107-
108-
![仪表盘控件截图](src/DashBoardQuick/images/dashboard.png)
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-
![网格布局视图](src/GridViewModel/images/grid_view_model.png)
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+
> ![仪表盘控件截图](src/DashBoardQuick/images/dashboard.png)
13280
13381
### [LoadingIndicator](src/LoadingIndicator/) - 加载指示器控件
13482

@@ -138,23 +86,13 @@
13886

13987
![加载指示器截图](src/LoadingIndicator/images/loading.png)
14088

141-
### [LoadingIndicatorQuick](src/LoadingIndicatorQuick/) - 加载指示器控件 (QtQuick 版本)
142-
143-
![QML加载指示器截图](src/LoadingIndicatorQuick/images/loading.png)
144-
145-
### [LoadingOverlayQuick](src/LoadingOverlayQuick/) - 加载覆盖层控件 (QtQuick 版本)
146-
147-
- 基于 QtQuick Popup 的轻量级加载覆盖层组件
148-
- 使用系统原生 BusyIndicator,确保平台一致性
149-
- 模态对话框设计,阻止用户交互
150-
151-
![加载覆盖层截图](src/LoadingOverlayQuick/images/loading.png)
152-
153-
### [LogAsync](src/utils/logasync.h) - 异步日志记录系统
154-
155-
- 独立线程处理日志写入,避免阻塞主线程
156-
- 支持控制台输出、文件记录或两者同时输出
157-
- 按大小和时间自动滚动日志文件,支持自动清理旧文件
89+
> **QtQuick 版本**[LoadingIndicatorQuick](src/LoadingIndicatorQuick/) - 加载指示器控件 (QtQuick 版本)
90+
>
91+
> ![QML加载指示器截图](src/LoadingIndicatorQuick/images/loading.png)
92+
>
93+
> **相关控件**[LoadingOverlayQuick](src/LoadingOverlayQuick/) - 加载覆盖层控件 (QtQuick 版本) — 基于 QtQuick Popup 的轻量级加载覆盖层组件,使用系统原生 BusyIndicator,模态对话框设计
94+
>
95+
> ![加载覆盖层截图](src/LoadingOverlayQuick/images/loading.png)
15896
15997
### [NavigationProgressBar](src/NavigationProgressBar/) - 导航进度条控件
16098

@@ -164,10 +102,6 @@
164102

165103
![导航进度条截图](src/NavigationProgressBar/images/navigation_progress.png)
166104

167-
### [PasswordInputQuick](src/PasswordInputQuick/) - 密码输入框控件(QtQuick 版本)
168-
169-
![密码输入框截图](src/PasswordInputQuick/images/password_input.png)
170-
171105
### [PasswordLineEdit](src/PasswordLineEdit/) - 密码输入框控件
172106

173107
- 支持显示/隐藏密码切换功能
@@ -176,6 +110,10 @@
176110

177111
![密码输入框截图](src/PasswordLineEdit/images/password_line_edit.png)
178112

113+
> **QtQuick 版本**[PasswordInputQuick](src/PasswordInputQuick/) - 密码输入框控件 (QtQuick 版本)
114+
>
115+
> ![密码输入框截图](src/PasswordInputQuick/images/password_input.png)
116+
179117
### [ProgressBar](src/ProgressBar/) - 线性进度条控件
180118

181119
- 支持动画过渡效果,可自定义动画时长
@@ -184,18 +122,6 @@
184122

185123
![线性进度条控件截图](src/ProgressBar/images/progress_bar.png)
186124

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-
199125
### [SwitchButton](src/SwitchButton/) - 开关按钮控件
200126

201127
- 支持平滑的开关动画过渡效果
@@ -204,7 +130,69 @@
204130

205131
![开关按钮控件截图](src/SwitchButton/images/switch_button.png)
206132

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+
![动态图表](src/Chart/picture/Chart_1.png)
144+
![滚动图表](src/Chart/picture/Chart_2.png)
145+
146+
### [CircularProgress](src/CircularProgress/) - 圆形进度条控件
147+
148+
- 支持圆弧进度显示和百分比/数值显示
149+
- 可自定义起始角度和结束角度
150+
- 支持动画过渡效果和多种颜色定制
151+
- 提供丰富的信号和槽函数用于状态监控
152+
153+
![圆形进度条控件截图](src/CircularProgress/images/circular_progress.png)
154+
155+
> **QtQuick 版本**[CircularProgressQuick](src/CircularProgressQuick/) - 圆形进度条控件(QtQuick 版本)
156+
>
157+
> ![圆形进度条控件截图](src/CircularProgressQuick/images/circular_progress.png)
158+
159+
### [CheckableTreeItem](src/CheckableTreeItem/) - 层次化复选框树
160+
161+
- 父子节点复选框状态自动联动
162+
- 支持三态显示(选中/未选中/部分选中)
163+
- 包含文件系统树结构演示
164+
165+
![层次化复选框树](src/CheckableTreeItem/images/checkable_tree.png)
166+
167+
### [GridViewModel](src/GridViewModel/) - 自适应网格布局
168+
169+
- 基于 Qt Model-View 架构的网格布局组件
170+
- 支持自适应列数和自定义单元格
171+
- 内置多选功能和流畅的交互体验
172+
173+
![网格布局视图](src/GridViewModel/images/grid_view_model.png)
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+
![开机自启动](src/AutoStartManager/images/auto_start.png)
184+
185+
### [LifecycleCallback](src/LifecycleCallback/) - 生命周期感知的回调包装器
186+
187+
- 自动检测对象销毁,避免悬空回调
188+
- 支持 QObject、std::shared_ptr 和自由函数
189+
- 类型安全,提供便捷创建函数
190+
191+
### [LogAsync](src/utils/logasync.h) - 异步日志记录系统
192+
193+
- 独立线程处理日志写入,避免阻塞主线程
194+
- 支持控制台输出、文件记录或两者同时输出
195+
- 按大小和时间自动滚动日志文件,支持自动清理旧文件
208196

209197
### [WindowsIntegration](src/WindowsIntegration/) - Windows"此电脑"集成
210198

@@ -213,6 +201,31 @@
213201

214202
![此电脑集成](src/WindowsIntegration/images/windows_integration.png)
215203

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+
216229
### [packaging](src/packaging/) - 跨平台打包解决方案
217230

218231
#### macOS 打包
@@ -224,7 +237,7 @@
224237
- [create-dmg](https://github.com/create-dmg/create-dmg):Bash 脚本;
225238
- [node-appdmg](https://github.com/LinusU/node-appdmg):json 配置文件;
226239
- [dmgbuild](https://pypi.org/project/dmgbuild/):Python 脚本;
227-
- [entitlements.plist](packaging/macos/entitlements.plist) - 应用程序签名权限配置文件
240+
- [entitlements.plist](src/packaging/macos/entitlements.plist) - 应用程序签名权限配置文件
228241
- [package.sh](src/packaging/macos/package.sh) - 主要打包脚本,这里包含签名过程,[Qt-App macOS 打包](https://github.com/RealChuan/Qt-App/tree/main/packaging/macos)这里没有签名过程
229242
- [utils.sh](src/packaging/macos/utils.sh) - 打包辅助函数
230243

0 commit comments

Comments
 (0)