|
5 | 5 |
|
6 | 6 | ## 概述 |
7 | 7 |
|
8 | | -这个仓库包含众多 Qt 示例,展示了从基础 UI 组件到高级网络编程和系统工具的各种功能。每个示例都是自包含的,可以作为您自己 Qt 项目的参考或起点。 |
| 8 | +这个仓库包含了丰富的 Qt 示例项目,覆盖了从基础 UI 组件到高级网络编程和系统工具的各种功能。每个示例都是独立完整的,可以作为您 Qt 项目的参考或开发起点。 |
9 | 9 |
|
10 | | -## 示例 |
| 10 | +## 示例项目 |
11 | 11 |
|
12 | | -### [AutoStartManager](src/AutoStartManager/) - 开机自启动 |
| 12 | +### [AutoStartManager](src/AutoStartManager/) - 开机自启动管理 |
13 | 13 |
|
14 | 14 | - **Windows**:用户注册表 `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run`,系统注册表 `HKEY_LOCAL_MACHINE\...\Run` |
15 | 15 | - **macOS**:`~/Library/LaunchAgents/com.{appname}.plist` |
16 | 16 | - **Linux**:`~/.config/autostart/{appname}.desktop` |
17 | | -- <img src="src/AutoStartManager/images/auto_start.png" width="500" alt="开机自启动"> |
| 17 | + |
| 18 | + |
18 | 19 |
|
19 | 20 | ### [Battery](src/Battery/) - 电池电量显示控件 |
20 | 21 |
|
21 | 22 | - 支持充电状态显示和闪电符号 |
22 | 23 | - 可设置低电量报警阈值和颜色 |
23 | 24 | - 支持数值动画过渡效果 |
24 | | -- <img src="src/Battery/images/battery.png" width="300" alt="电池控件截图"> |
25 | 25 |
|
26 | | -### [BatteryQuick](src/BatteryQuick/) - 电池电量显示控件 (QtQuick版本) |
| 26 | + |
| 27 | + |
| 28 | +### [BatteryQuick](src/BatteryQuick/) - 电池电量显示控件 (QtQuick 版本) |
27 | 29 |
|
28 | | -- <img src="src/BatteryQuick/images/battery.png" width="300" alt="电池控件截图"> |
| 30 | + |
29 | 31 |
|
30 | 32 | ### [Bubble](src/Bubble/) - 气泡对话框控件 |
31 | 33 |
|
32 | 34 | - 支持四个方向的箭头定位 |
33 | 35 | - 包含淡入淡出动画和阴影效果 |
34 | 36 | - 可自定义边框、背景颜色和圆角 |
35 | | -- <img src="src/Bubble/images/bubble.png" width="600" alt="气泡对话框截图"> |
| 37 | + |
| 38 | + |
36 | 39 |
|
37 | 40 | ### [ButtonIconStateManager](src/ButtonIconStateManager/) - 按钮图标状态管理器 |
38 | 41 |
|
|
41 | 44 | - 基于事件过滤器的自动状态检测 |
42 | 45 | - 可应用于 QPushButton、QToolButton 等多种按钮类型 |
43 | 46 |
|
44 | | -### [Carousel3DView](src/Carousel3DView/) - 3D轮播图控件 |
| 47 | +### [Carousel3DView](src/Carousel3DView/) - 3D 轮播图控件 |
45 | 48 |
|
46 | | -- 支持立体3D效果的图片轮播展示 |
| 49 | +- 支持立体 3D 效果的图片轮播展示 |
47 | 50 | - 可自定义动画持续时间和自动轮播间隔 |
48 | 51 | - 鼠标悬停暂停自动轮播,移出后恢复 |
49 | 52 | - 支持点击图片直接跳转到中心位置 |
50 | | -- 响应式设计,适应不同窗口尺寸 |
51 | | -- 提供完整的控制接口和状态反馈 |
52 | | -- <img src="src/Carousel3DView/images/carousel.png" width="650" alt="3D轮播图控件截图"> |
53 | 53 |
|
54 | | -### [Chart](src/Chart/) - 数据可视化图表(QtCharts 模块 Desprecated) |
| 54 | + |
| 55 | + |
| 56 | +### [Chart](src/Chart/) - 数据可视化图表(QtCharts 模块) |
55 | 57 |
|
56 | 58 | - 多种图表类型:面积图、折线图、饼图、柱状图 |
57 | 59 | - 实时动态图表 |
58 | 60 | - 自定义标注和工具提示 |
59 | | -- <img src="src/Chart/picture/Chart_1.png" width="90%" alt="动态图表"> |
60 | | - <img src="src/Chart/picture/Chart_2.png" width="90%" alt="滚动图表"> |
| 61 | + |
| 62 | + |
| 63 | + |
61 | 64 |
|
62 | 65 | ### [CheckableTreeItem](src/CheckableTreeItem/) - 层次化复选框树 |
63 | 66 |
|
64 | 67 | - 父子节点复选框状态自动联动 |
65 | 68 | - 支持三态显示(选中/未选中/部分选中) |
66 | 69 | - 包含文件系统树结构演示 |
67 | | -- <img src="src/CheckableTreeItem/images/checkable_tree.png" width="800" alt="层次化复选框树"> |
| 70 | + |
| 71 | + |
68 | 72 |
|
69 | 73 | ### [CircularProgress](src/CircularProgress/) - 圆形进度条控件 |
70 | 74 |
|
71 | 75 | - 支持圆弧进度显示和百分比/数值显示 |
72 | 76 | - 可自定义起始角度和结束角度 |
73 | 77 | - 支持动画过渡效果和多种颜色定制 |
74 | 78 | - 提供丰富的信号和槽函数用于状态监控 |
75 | | -- 包含快速主题切换功能(经典、暗色、现代) |
76 | | -- <img src="src/CircularProgress/images/circular_progress.png" width="800" alt="圆形进度条控件截图"> |
77 | 79 |
|
78 | | -### [CircularProgressQuick](src/CircularProgressQuick/) - 圆形进度条控件(QtQuick版本) |
| 80 | + |
| 81 | + |
| 82 | +### [CircularProgressQuick](src/CircularProgressQuick/) - 圆形进度条控件(QtQuick 版本) |
79 | 83 |
|
80 | | -- <img src="src/CircularProgressQuick/images/circular_progress.png" width="800" alt="圆形进度条控件截图"> |
| 84 | + |
81 | 85 |
|
82 | 86 | ### [Clock](src/Clock/) - 模拟时钟控件 |
83 | 87 |
|
84 | 88 | - 支持秒针平滑动画效果 |
85 | 89 | - 可自定义表盘、刻度、指针颜色 |
86 | 90 | - 提供多种预设颜色主题 |
87 | | -- <img src="src/Clock/images/clock.png" width="800" alt="时钟控件截图"> |
88 | 91 |
|
89 | | -### [ClockQuick](src/ClockQuick/) - 模拟时钟控件(QtQuick版本) |
| 92 | + |
90 | 93 |
|
91 | | -- <img src="src/ClockQuick/images/clock.png" width="800" alt="时钟控件截图"> |
| 94 | +### [ClockQuick](src/ClockQuick/) - 模拟时钟控件(QtQuick 版本) |
| 95 | + |
| 96 | + |
92 | 97 |
|
93 | 98 | ### [DashBoard](src/DashBoard/) - 仪表盘控件 |
94 | 99 |
|
95 | 100 | - 可调节刻度范围和角度区间 |
96 | 101 | - 支持指针数值动画过渡 |
97 | 102 | - 高度可定制的颜色和文本样式 |
98 | | -- <img src="src/DashBoard/images/dashboard.png" width="800" alt="仪表盘控件截图"> |
99 | 103 |
|
100 | | -### [DashBoardQuick](src/DashBoardQuick/) - 仪表盘控件(QtQuick版本) |
| 104 | + |
| 105 | + |
| 106 | +### [DashBoardQuick](src/DashBoardQuick/) - 仪表盘控件(QtQuick 版本) |
101 | 107 |
|
102 | | -- <img src="src/DashBoardQuick/images/dashboard.png" width="800" alt="仪表盘控件截图"> |
| 108 | + |
103 | 109 |
|
104 | | -### [FlowLayout](https://doc.qt.io/qt-6/qtwidgets-layouts-flowlayout-example.html) - Qt 官方Flow Layout Example |
| 110 | +### [FlowLayout](https://doc.qt.io/qt-6/qtwidgets-layouts-flowlayout-example.html) - Qt 官方 Flow Layout Example |
105 | 111 |
|
106 | 112 | ### [GridViewModel](src/GridViewModel/) - 自适应网格布局 |
107 | 113 |
|
108 | 114 | - 基于 Qt Model-View 架构的网格布局组件 |
109 | 115 | - 支持自适应列数和自定义单元格 |
110 | 116 | - 内置多选功能和流畅的交互体验 |
111 | | -- <img src="src/GridViewModel/images/grid_view_model.png" width="800" alt="网格布局视图"> |
| 117 | + |
| 118 | + |
112 | 119 |
|
113 | 120 | ### [HttpClient](src/HttpClient/) - HTTP 客户端 |
114 | 121 |
|
115 | | -- 支持GET/POST/PUT/DELETE方法 |
| 122 | +- 支持 GET/POST/PUT/DELETE 方法 |
116 | 123 | - 文件上传下载,支持断点续传和进度回调 |
117 | | -- JSON请求和响应自动处理 |
118 | | -- 超时控制和SSL证书配置 |
119 | | -- 集成生命周期安全回调机制 |
| 124 | +- JSON 请求和响应自动处理 |
| 125 | +- 超时控制和 SSL 证书配置 |
120 | 126 |
|
121 | 127 | ### [LifecycleCallback](src/LifecycleCallback/) - 生命周期感知的回调包装器 |
122 | 128 |
|
123 | 129 | - 自动检测对象销毁,避免悬空回调 |
124 | | -- 支持QObject、std::shared_ptr和自由函数 |
| 130 | +- 支持 QObject、std::shared_ptr 和自由函数 |
125 | 131 | - 类型安全,提供便捷创建函数 |
126 | | -- 适用于异步操作和事件处理场景 |
127 | 132 |
|
128 | 133 | ### [LoadingIndicator](src/LoadingIndicator/) - 加载指示器控件 |
129 | 134 |
|
130 | | -- 支持多种动画样式:旋转圆点、脉冲圆圈、跳动条形、自定义GIF动画 |
| 135 | +- 支持多种动画样式:旋转圆点、脉冲圆圈、跳动条形、自定义 GIF 动画 |
131 | 136 | - 可自定义文本、颜色、背景和动画速度 |
132 | 137 | - 提供覆盖模式,轻松实现遮罩加载效果 |
133 | | -- 灵活的参数设置,适应不同场景需求 |
134 | | -- 自动响应窗口尺寸变化,保持居中显示 |
135 | | -- <img src="src/LoadingIndicator/images/loading.png" width="450" alt="加载指示器截图"> |
136 | 138 |
|
137 | | -### [LoadingIndicatorQuick](src/LoadingIndicatorQuick/) - 加载指示器控件 (QtQuick版本) |
| 139 | + |
| 140 | + |
| 141 | +### [LoadingIndicatorQuick](src/LoadingIndicatorQuick/) - 加载指示器控件 (QtQuick 版本) |
138 | 142 |
|
139 | | -- <img src="src/LoadingIndicatorQuick/images/loading.png" width="450" alt="QML加载指示器截图"> |
| 143 | + |
140 | 144 |
|
141 | | -### [LoadingOverlayQuick](src/LoadingOverlayQuick/) - 加载覆盖层控件 (QtQuick版本) |
| 145 | +### [LoadingOverlayQuick](src/LoadingOverlayQuick/) - 加载覆盖层控件 (QtQuick 版本) |
142 | 146 |
|
143 | | -- 基于QtQuick Popup的轻量级加载覆盖层组件 |
144 | | -- 使用系统原生BusyIndicator,确保平台一致性 |
| 147 | +- 基于 QtQuick Popup 的轻量级加载覆盖层组件 |
| 148 | +- 使用系统原生 BusyIndicator,确保平台一致性 |
145 | 149 | - 模态对话框设计,阻止用户交互 |
146 | | -- 支持动态文本设置和颜色自定义 |
147 | | -- 简洁API,提供show/hide方法控制显示 |
148 | | -- 自动居中显示,适配不同屏幕尺寸 |
149 | | -- <img src="src/LoadingOverlayQuick/images/loading.png" width="350" alt="加载覆盖层截图"> |
150 | 150 |
|
151 | | -### [LogAsync](https://github.com/RealChuan/Qt-App/blob/main/src/utils/logasync.h) - 异步日志记录系统 |
| 151 | + |
| 152 | + |
| 153 | +### [LogAsync](src/utils/logasync.h) - 异步日志记录系统 |
152 | 154 |
|
153 | 155 | - 独立线程处理日志写入,避免阻塞主线程 |
154 | 156 | - 支持控制台输出、文件记录或两者同时输出 |
155 | 157 | - 按大小和时间自动滚动日志文件,支持自动清理旧文件 |
156 | | -- 可设置不同日志级别(Debug、Info、Warning、Error、Fatal) |
157 | | -- 控制台输出长度限制,避免过长日志刷屏 |
158 | | -- 内置信号槽机制,确保多线程环境下的数据安全 |
159 | 158 |
|
160 | 159 | ### [NavigationProgressBar](src/NavigationProgressBar/) - 导航进度条控件 |
161 | 160 |
|
162 | 161 | - 支持多步骤流程可视化显示 |
163 | 162 | - 可自定义颜色主题和字体样式 |
164 | 163 | - 提供步骤前进、后退和重置功能 |
165 | | -- 自适应布局,响应窗口尺寸变化 |
166 | | -- <img src="src/NavigationProgressBar/images/navigation_progress.png" width="800" alt="导航进度条截图"> |
167 | 164 |
|
168 | | -### [NavigationProgressBarQuick](src/NavigationProgressBarQuick/) - 导航进度条控件(QtQuick版本) |
| 165 | + |
| 166 | + |
| 167 | +### [NavigationProgressBarQuick](src/NavigationProgressBarQuick/) - 导航进度条控件(QtQuick 版本) |
169 | 168 |
|
170 | | -- <img src="src/NavigationProgressBarQuick/images/navigation_progress.png" width="800" alt="导航进度条截图"> |
| 169 | + |
171 | 170 |
|
172 | | -### [PasswordInputQuick](src/PasswordInputQuick/) - 密码输入框控件(QtQuick版本) |
| 171 | +### [PasswordInputQuick](src/PasswordInputQuick/) - 密码输入框控件(QtQuick 版本) |
173 | 172 |
|
174 | | -- <img src="src/PasswordInputQuick/images/password_input.png" width="600" alt="密码输入框截图"> |
| 173 | + |
175 | 174 |
|
176 | 175 | ### [PasswordLineEdit](src/PasswordLineEdit/) - 密码输入框控件 |
177 | 176 |
|
178 | 177 | - 支持显示/隐藏密码切换功能 |
179 | | -- 自动检测CapsLock状态并显示警告提示 |
| 178 | +- 自动检测 CapsLock 状态并显示警告提示 |
180 | 179 | - 可自定义图标、提示时长和警告功能 |
181 | | -- 提供密码验证和批量操作支持 |
182 | | -- <img src="src/PasswordLineEdit/images/password_line_edit.png" width="600" alt="密码输入框截图"> |
| 180 | + |
| 181 | + |
183 | 182 |
|
184 | 183 | ### [ProgressBar](src/ProgressBar/) - 线性进度条控件 |
185 | 184 |
|
186 | 185 | - 支持动画过渡效果,可自定义动画时长 |
187 | 186 | - 可自定义圆角半径,支持自动圆角计算 |
188 | 187 | - 支持百分比和数值两种显示模式 |
189 | | -- 提供丰富的颜色定制选项 |
190 | | -- 包含完整的信号系统和便捷操作方法 |
191 | | -- <img src="src/ProgressBar/images/progress_bar.png" width="500" alt="线性进度条控件截图"> |
192 | 188 |
|
193 | | -### [ReactorServer](src/ReactorServer/) - 多线程Reactor模式TCP服务器 |
| 189 | + |
| 190 | + |
| 191 | +### [ReactorServer](src/ReactorServer/) - 多线程 Reactor 模式 TCP 服务器 |
194 | 192 |
|
195 | | -- 基于Reactor设计模式的高性能TCP服务器框架 |
196 | | -- 主从Reactor架构:主线程接受连接,工作线程处理I/O |
| 193 | +- 基于 Reactor 设计模式的高性能 TCP 服务器框架 |
| 194 | +- 主从 Reactor 架构:主线程接受连接,工作线程处理 I/O |
197 | 195 | - 内置线程池和负载均衡,自动分配连接到空闲线程 |
198 | | -- 支持自定义连接回调,轻松扩展为Echo服务器或自定义协议服务器 |
199 | | -- 使用生命周期安全的回调机制,确保线程安全和内存管理 |
200 | | -- 提供完整的连接管理、状态监控和错误处理 |
201 | 196 |
|
202 | 197 | ### [SqliteWAL](src/SqliteWAL/) - SQLite 预写式日志 |
203 | 198 |
|
|
210 | 205 | - 支持平滑的开关动画过渡效果 |
211 | 206 | - 可自定义选中和未选中状态的颜色 |
212 | 207 | - 可自定义滑块颜色和边框颜色 |
213 | | -- 支持鼠标悬停状态反馈 |
214 | | -- 提供动画开始和完成的信号通知 |
215 | | -- 响应式设计,适应不同尺寸 |
216 | | -- <img src="src/SwitchButton/images/switch_button.png" width="300" alt="开关按钮控件截图"> |
217 | 208 |
|
218 | | -### [SwitchDelegate](https://doc.qt.io/qt-6/zh/qtquickcontrols-customize.html#customizing-switchdelegate) - Qt官方的开关按钮委托(QtQuick版本) |
| 209 | + |
| 210 | + |
| 211 | +### [SwitchDelegate](https://doc.qt.io/qt-6/zh/qtquickcontrols-customize.html#customizing-switchdelegate) - Qt 官方的开关按钮委托(QtQuick 版本) |
219 | 212 |
|
220 | 213 | ### [WindowsIntegration](src/WindowsIntegration/) - Windows"此电脑"集成 |
221 | 214 |
|
222 | 215 | - **Windows**:注册表 `HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{GUID}` 和 `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{GUID}` |
223 | | -- **功能**:将应用程序图标添加到Windows"此电脑"中,与磁盘驱动器并列显示 |
224 | | -- **特点**:双击直接启动应用,使用应用自身图标,无需管理员权限 |
225 | | -- <img src="src/WindowsIntegration/images/windows_integration.png" width="1125" alt="此电脑集成"> |
| 216 | +- **功能**:将应用程序图标添加到 Windows"此电脑"中,与磁盘驱动器并列显示 |
| 217 | + |
| 218 | + |
226 | 219 |
|
227 | 220 | ### [packaging](src/packaging/) - 跨平台打包解决方案 |
228 | 221 |
|
|
0 commit comments