一个包含多个Qt6学习示例和实用工具的项目集合,展示了Qt开发中的各种核心技术和最佳实践。自主开发与官方示例不同。
这个仓库包含了三个独立但相关的Qt6项目,每个项目都专注于特定的Qt技术,项目已经在Windows平台环境中验证,脚本配置等都是基于该平台,可轻松迁移至Mac、Linux等其他平台。
| 项目 | 技术重点 | 描述 |
|---|---|---|
| 自定义按钮 | 自定义控件、SVG、事件处理 | 多种不规则形状按钮的实现方法 |
| 好友列表MVP | Model/View架构、QML | 完整的Model/View/Delegate架构演示 |
| 圆形时钟 | 异形窗口、自定义绘制 | 桌面时钟应用与窗口形状定制 |
- Qt 6.8 或更高版本
- CMake 3.16 或更高版本
- 支持C++17的编译器 安装最新的Qt版本,将包含以上环境,,配置Qt开发环境(PATH等)即可编译运行程序。
- vs code(可选)
一键构建(Windows):
build_all.bat手动构建:
mkdir build && cd build
cmake .. -G "Ninja"
cmake --build .# 方法1:构建指定项目
cd build
cmake .. -DBUILD_CUSTOM_BUTTONS=ON -DBUILD_FRIEND_LIST=OFF -DBUILD_CIRCULAR_CLOCK=OFF -G "Ninja"
cmake --build .
# 方法2:进入子项目目录单独构建
cd examples/custom-buttons && mkdir build && cd build
cmake .. -G "Ninja" && cmake --build .
cd ../../friend-list-mvp && mkdir build && cd build
cmake .. -G "Ninja" && cmake --build .
cd ../../circular-clock && mkdir build && cd build
cmake .. -G "Ninja" && cmake --build .构建完成后,所有可执行文件将位于 build/bin/ 目录:
| 应用程序 | 说明 |
|---|---|
CustomButtonsDemo |
主要的自定义按钮演示 |
CustomButtonsSVGTest |
SVG功能测试程序 |
CustomButtonsSVGDemo |
SVG按钮演示程序 |
FriendListDemo |
好友列表(Qt Widgets版本) |
FriendListDemoQML |
好友列表(QML版本) |
CircularClock |
圆形时钟桌面应用 |
HoleWindow |
简单的镂空窗口演示 |
- ✅ 多种形状:矩形、六边形、五角星、半月形
- ✅ SVG支持:可加载任意矢量图形
- ✅ 交互效果:悬停动画、点击反馈
- ✅ 完整的Model/View/Delegate架构
- ✅ 自定义数据模型和渲染委托
- ✅ Qwidget和QML两种实现方式
- ✅ 增删改查功能
- ✅ 无边框异形窗口
- ✅ 透明背景
- ✅ 实时时钟显示
- ✅ 鼠标交互和动画
- ✅ 右键菜单功能
可以通过CMake选项控制构建哪些项目:
cmake .. -DBUILD_CUSTOM_BUTTONS=ON \ # 构建自定义按钮示例
-DBUILD_FRIEND_LIST=ON \ # 构建好友列表示例
-DBUILD_CIRCULAR_CLOCK=ON # 构建圆形时钟示例每个项目都包含详细的README文档:
本项目使用 MIT License 许可证。
如果这个项目对你有帮助,请给个Star支持一下!
- 作者:samplelife
- 项目地址:https://github.com/samplelife/QtProjectSet




