Skip to content

Latest commit

 

History

History
253 lines (161 loc) · 9.85 KB

File metadata and controls

253 lines (161 loc) · 9.85 KB

Qt-Examples

概述

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

示例项目

AutoStartManager - 开机自启动管理

  • Windows:用户注册表 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,系统注册表 HKEY_LOCAL_MACHINE\...\Run
  • macOS~/Library/LaunchAgents/com.{appname}.plist
  • Linux~/.config/autostart/{appname}.desktop

开机自启动

Battery - 电池电量显示控件

  • 支持充电状态显示和闪电符号
  • 可设置低电量报警阈值和颜色
  • 支持数值动画过渡效果

电池控件截图

BatteryQuick - 电池电量显示控件 (QtQuick 版本)

电池控件截图

Bubble - 气泡对话框控件

  • 支持四个方向的箭头定位
  • 包含淡入淡出动画和阴影效果
  • 可自定义边框、背景颜色和圆角

气泡对话框截图

ButtonIconStateManager - 按钮图标状态管理器

  • 智能管理按钮在不同状态下的图标切换
  • 支持正常、悬停、按下、选中四种状态
  • 基于事件过滤器的自动状态检测
  • 可应用于 QPushButton、QToolButton 等多种按钮类型

Carousel3DView - 3D 轮播图控件

  • 支持立体 3D 效果的图片轮播展示
  • 可自定义动画持续时间和自动轮播间隔
  • 鼠标悬停暂停自动轮播,移出后恢复
  • 支持点击图片直接跳转到中心位置

3D轮播图控件截图

Chart - 数据可视化图表(QtCharts 模块)

  • 多种图表类型:面积图、折线图、饼图、柱状图
  • 实时动态图表
  • 自定义标注和工具提示

动态图表 滚动图表

CheckableTreeItem - 层次化复选框树

  • 父子节点复选框状态自动联动
  • 支持三态显示(选中/未选中/部分选中)
  • 包含文件系统树结构演示

层次化复选框树

CircularProgress - 圆形进度条控件

  • 支持圆弧进度显示和百分比/数值显示
  • 可自定义起始角度和结束角度
  • 支持动画过渡效果和多种颜色定制
  • 提供丰富的信号和槽函数用于状态监控

圆形进度条控件截图

CircularProgressQuick - 圆形进度条控件(QtQuick 版本)

圆形进度条控件截图

Clock - 模拟时钟控件

  • 支持秒针平滑动画效果
  • 可自定义表盘、刻度、指针颜色
  • 提供多种预设颜色主题

时钟控件截图

ClockQuick - 模拟时钟控件(QtQuick 版本)

时钟控件截图

DashBoard - 仪表盘控件

  • 可调节刻度范围和角度区间
  • 支持指针数值动画过渡
  • 高度可定制的颜色和文本样式

仪表盘控件截图

DashBoardQuick - 仪表盘控件(QtQuick 版本)

仪表盘控件截图

FlowLayout - Qt 官方 Flow Layout Example

GridViewModel - 自适应网格布局

  • 基于 Qt Model-View 架构的网格布局组件
  • 支持自适应列数和自定义单元格
  • 内置多选功能和流畅的交互体验

网格布局视图

HttpClient - HTTP 客户端

  • 支持 GET/POST/PUT/DELETE 方法
  • 文件上传下载,支持断点续传和进度回调
  • JSON 请求和响应自动处理
  • 超时控制和 SSL 证书配置

LifecycleCallback - 生命周期感知的回调包装器

  • 自动检测对象销毁,避免悬空回调
  • 支持 QObject、std::shared_ptr 和自由函数
  • 类型安全,提供便捷创建函数

LoadingIndicator - 加载指示器控件

  • 支持多种动画样式:旋转圆点、脉冲圆圈、跳动条形、自定义 GIF 动画
  • 可自定义文本、颜色、背景和动画速度
  • 提供覆盖模式,轻松实现遮罩加载效果

加载指示器截图

LoadingIndicatorQuick - 加载指示器控件 (QtQuick 版本)

QML加载指示器截图

LoadingOverlayQuick - 加载覆盖层控件 (QtQuick 版本)

  • 基于 QtQuick Popup 的轻量级加载覆盖层组件
  • 使用系统原生 BusyIndicator,确保平台一致性
  • 模态对话框设计,阻止用户交互

加载覆盖层截图

LogAsync - 异步日志记录系统

  • 独立线程处理日志写入,避免阻塞主线程
  • 支持控制台输出、文件记录或两者同时输出
  • 按大小和时间自动滚动日志文件,支持自动清理旧文件

NavigationProgressBar - 导航进度条控件

  • 支持多步骤流程可视化显示
  • 可自定义颜色主题和字体样式
  • 提供步骤前进、后退和重置功能

导航进度条截图

NavigationProgressBarQuick - 导航进度条控件(QtQuick 版本)

导航进度条截图

PasswordInputQuick - 密码输入框控件(QtQuick 版本)

密码输入框截图

PasswordLineEdit - 密码输入框控件

  • 支持显示/隐藏密码切换功能
  • 自动检测 CapsLock 状态并显示警告提示
  • 可自定义图标、提示时长和警告功能

密码输入框截图

ProgressBar - 线性进度条控件

  • 支持动画过渡效果,可自定义动画时长
  • 可自定义圆角半径,支持自动圆角计算
  • 支持百分比和数值两种显示模式

线性进度条控件截图

ReactorServer - 多线程 Reactor 模式 TCP 服务器

  • 基于 Reactor 设计模式的高性能 TCP 服务器框架
  • 主从 Reactor 架构:主线程接受连接,工作线程处理 I/O
  • 内置线程池和负载均衡,自动分配连接到空闲线程

SqliteWAL - SQLite 预写式日志

  • 多线程 SQLite 数据库操作
  • WAL 模式实现
  • 线程安全写入操作

SwitchButton - 开关按钮控件

  • 支持平滑的开关动画过渡效果
  • 可自定义选中和未选中状态的颜色
  • 可自定义滑块颜色和边框颜色

开关按钮控件截图

SwitchDelegate - Qt 官方的开关按钮委托(QtQuick 版本)

WindowsIntegration - Windows"此电脑"集成

  • Windows:注册表 HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{GUID}HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{GUID}
  • 功能:将应用程序图标添加到 Windows"此电脑"中,与磁盘驱动器并列显示

此电脑集成

packaging - 跨平台打包解决方案

macOS 打包

Windows 打包

  • 参考实现: Qt-App Windows 打包
  • 核心文件:
    • sign.bat - 代码签名脚本,支持集成到 Inno Setup
  • 签名集成: 将 sign.bat 中的签名脚本集成到 Inno Setup 工具:
    1. 在 Inno Setup 中选择 ToolsConfigure Sign Tools
    2. 添加签名工具并粘贴 sign.bat 中的脚本内容
    3. 在打包脚本中为需要签名的文件添加对应的 sign flags 参数

Ubuntu 打包

资源