QtExamples
Qt 之 GUI 控件使用 / 网络 / 架构原理 / 运行机制理解;DTK 重绘控件方式的框架解析;IDE 技巧之 Visual Studio / Qt Creator;此为系列文章教程
Install / Use
/learn @XMuli/QtExamplesREADME
我也不知道为什么,当初就是想放这么一张图在这里~
QtExamples
面向 C++/ Qt 入门者与转行学习者的 Qt 学习与项目仓库,兼顾入门与进阶的系统路径。
适合人群
- 零基础或刚入门的 Qt/C++ 学习者
- 想从“看教程”走向“做项目”的开发者
- 需要系统梳理 Qt 工程化与发布流程的同学
你将获得
- Qt 基础控件、网络编程、工程化与发布流程
- Deepin / UOS 的 DTK 与自定义样式的底层理解
- 一条可循的学习路径与丰富的项目参考
阅读方式
- 想快速上手:从第 1 章开始,按系统与 IDE 配好环境
- 想专项突破:直接跳到对应章节
- 想看作品与案例:先看“热门作品”和第 10 章
快速导航
项目介绍
- Qt GUI 基础控件与常见网络编程
- DTK 重绘控件与样式机制的框架解析
- Qt Creator 与 Visual Studio 的实用技巧
- Qt 原理与运行机制的系统理解
这是个人学习与实践的记录,也希望与更多同路人交流分享。
构建环境
源码与文章均托管于本仓库,主线聚焦 Qt 5/6 与 Linux 基础及系统编程。
- 开发系统:
macOS 10.14-15.x/Windows 10-11/UOS/Deepin 20-25 - 编码软件:
Qt 5.x-6.x/Visual Studio 2015-2026
热门作品
较火/高规格的完整项目(第 10 章)
- 极简的电脑管家,一键关闭 Windows Defender (Anti-Virus). 【windows-defender-close】[★★]
截图三部曲(难 → 易)
- SunnyCapturer 跨平台截图软件,支持离线 OCR、图片翻译、贴图、钉图 [★★★★★ 2023-2026]:SunnyCapturer 官网
- FLIPPED 一款简易且漂亮的跨平台截图和贴图的软件 [★★★]
- ShotX 一个轻量级的跨平台截图 [★]
- 简洁且易用的 ChatGPT & AI 桌面应用 ThinkyMate(无需登录) [★★★★★ 2024]
- Sunny 截图上架 Microsoft Store 及 Linux 等商店的指北
- 分享如何拥有一份私人的开源代码签名证书
楔子
新手过来
入门阶段常见的困惑大致如下:
- 语法不熟,能看懂却写不出
- IDE 安装、配置、建项目一头雾水
- 基础控件不认识,不知道如何组合成界面
- 内容碎片化,缺少可系统阅读的资料
- 学了很久仍不清楚“在学什么、下一步做什么”
分享所想
- 重新系统梳理 GUI 与工程化实践
- 帮助新手从 0 到 1,解决入门阶段最常见的问题
- 学习于网络,回馈于网络
- 以可检索的方式沉淀为长期可用的资料
Star History
热爱开源
虽不盈利,也会辛苦,但因自由与开源而坚持记录。
贡献捐赠
如果这个仓库帮你节省了时间、解决了问题,欢迎支持。每一份赞助都会用于持续整理与更新,也是继续投入的动力:
- 点个 Star / Fork,让更多人看到
- 分享给需要的人
- 赞助一杯饮料,支持持续更新
| :真实项目的作品集展示 | |
| --- | --- |
|
:浏览量 170W+ |
:唯一博客 |
|
:简要沟通 |
:代码托管 |
正文
1-预备知识
Windows 系统
- 在 Windows 10 环境下安装 Qt Creator 5.9.8 作 C++ 的 IDE 开发工具
- Qt Creator 安装 SDK,在 MSVC 编译模式下使用 CDB 调试器
- Windows 10 安装 Qt Creator + Visual Studio 2015 作为 C++ 的 IDE 开发工具
- Visual Studio 2017 专业版使用最新版 Qt 5.9.2 教程
- Windows 10 安装 CLion + CMake + MSVC / MinGW 作 Qt 开发
macOS 系统
Linux 系统
- Windows 10 的 VMware 中安装 UOS 20,在 UOS 中安装 Qt Creator 及搭建 DTK 开发环境
- macOS 安装 Parallels Desktop,再安装 UOS 20 + Qt Creator,及搭建 DTK 开发环境
- macOS 的 VMware Fusion 中安装 Linux Deepin15.11
- Deepin / UOS 中配置 DTK 开发环境
- 重装 UOS / Deepin V20 后必安装软件(个人习惯)
- ArchLinux + DDE 安装教程
- 对 GNU/Linux 介绍、ArchLinux社区氛围、DDE移植Arch流程
通用命令交互
- Shell、Bash、CMD、PowerShell 的区别
- Windows-Terminal 配置 OhMyPosh 美化 GitBash
- Windows 打造颜值和实用可媲美 Linux 的终端:Pwsh7 + OhMyPosh
IDE 对 Qt 源码函数进行单步调试
2-Qt 生成原理和运行机制
3-常规 GUI 控件
原生控件
- 一个默认的
Qt Widget项目 【空】 - 元对象系统 MOC (Meta-Object System) 的对象 MetaObject 和(含动态)属性 Property 的用法 【QtMeatObjectEx】
- QString 在2 /8/10/16 进制之间转换 【QtQStringEx】
- QString 常用的功能函数的介绍及用法 【QtQStringFunEx】
- QSlider + QAbstractSlider 滑动条的介绍及用法【QtQSliderEx】
- QSlider + QScrollBar + QProgressBar (移动条、滚动条、进度条)的联动【QtQProgressBarEx】
- QSlider 仪表盘 + QLCDNumber 数值显示 的介绍及用法【QtQdialQLCDEx】
- QTime / QDate / QDateTime 时间日期 + QTimer 定时器的介绍及用法【QtDateTimeEx】
- QComboBox 下拉列表框 + QPlainTextEdit 多行富文本编辑器的介绍及用法 【QtQcomboBoxEx】
- QListWidget 列表控件 + QToolButton 工具按钮的介绍及用法【QtQListWidgetEx】
- QTreeWidget 目录树组件 + QDockWidget 停靠区域组件的介绍及用法【QtQTreeWidgetEx】
- QTableWidget 表格组件的介绍及用法【QtQTableWidgetEx】
- QFileSystemModel 数据模型获取本机文件系统用法【QtQFileSystemModelEx】
- getOpenFileName 标准对话框和自定义对话框的用法【QtQDialogEx】
- QTableView 表格视图 + QStandardItemModel 标准项模型的用法【QtQStandardItemModelEx】
- 自定义和标准对话框的用法【QtCustomDialogEx】
- MDI(Multi-document Interface) 多文档界面的实现 + QMdiArea 的用法【QtMDIEx】
- 创建 QKeySequenceEdit() 后,显示方块■◆乱码
- Qt 修改
*.svg文件的颜色【ExChangeSVGColor】
高级自绘和组合控件
- Qt 使用亚克力的透明磨砂效果的窗口思路和解决方案,三种实现思路,支持全平台 【AcrylicWindow】
- 使用 QListWidget 创建的一个 气泡聊天窗口消息的控件 BubbleMessage,且自适应大小 【BubbleChat】 [★★★★]
4-网络编程
- QHostInfo 主机信息查询 + QNetworkInterface 查询 IP 等【QtQHostInfoEx】
- TCP 通信之 QTcpServer + QTcpSocket,服务器和客户端通讯【QtTcpEx】
- UDP 通信之 QUdpSocket + unicast 单播 / broadcast 广播 / multicast 组播【QtUdpEx】
- QNetworkAccessManager + QNetworkReply + QNetworkRequest 协同实现高层网络的操作 HTTP 【QtHttpEx】
5-DTK 重绘控件原理解析-自定义 QStyle
DTK 历史发展
- DTK 的历史起源、发展,和简单入门 [★★]
- Deepin、DDE 的历史起源与发展(附 Deepin 所有版本的 DDE 效果图) [★★]
- UOS/Deepin 中配置 DTK 开发环境 [★]
- Deepin / DTK 文档参考资料集合 [★★★]
背景知识
- QStyle 与 QPen、QPush、QPalette、QPainter 之间的区别
- DTK 基础教程:自定义控件规范 [★]
- QStyle 设置界面的外观和 QCommonStyle 继承关系图讲解和使用 [★★]
- Qt 之 proxy() 代理函数探究
感性理解
- [Qt 控件在 UO
Related Skills
apple-reminders
349.0kManage Apple Reminders via remindctl CLI (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.
bluebubbles
349.0kUse when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration). Calls go through the generic message tool with channel="bluebubbles".
canvas
349.0kCanvas Skill Display HTML content on connected OpenClaw nodes (Mac app, iOS, Android). Overview The canvas tool lets you present web content on any connected node's canvas view. Great for: -
gh-issues
349.0kFetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]
