适合人群: 刚安装好 Qt,想搞清楚"Qt 到底有哪些东西"的新手
前言
很多人以为 Qt 只是一个"写界面的库",但 Qt Group 实际上提供了一套覆盖从 UI 设计、应用开发、到软件质量保障的完整工具链。
在正式开始写代码之前,花 20 分钟了解整个产品生态,能帮你在遇到问题时知道该去哪里找答案,在选型时知道该用哪个工具。
一、Qt Group 产品的三大类别
Qt Group 的产品可以分为三个大类:
Qt Group 产品
├── 开发与设计工具 ← 用于构建应用程序
├── 软件质量工具 ← 用于测试和保障代码质量
└── 平台与部署支持 ← 用于跨平台发布
对于初学者来说,90% 的时间都在和第一类打交道。
二、开发与设计工具
2.1 Qt 框架(Qt Framework)
这是 Qt 的核心,一套跨平台的 C++ 类库和 API 集合。它包含了你开发应用所需的几乎一切:
| 模块 | 功能 |
|---|---|
| Qt Core | 基础数据结构、文件 I/O、事件循环 |
| Qt Quick / QML | 现代声明式 UI 开发 |
| Qt Widgets | 传统桌面 UI 控件 |
| Qt Network | HTTP、TCP/UDP 网络通信 |
| Qt SQL | 数据库访问 |
| Qt Multimedia | 音频、视频播放与录制 |
| Qt Charts | 图表与数据可视化 |
| Qt 3D / Qt Quick 3D | 三维图形渲染 |
| Qt Bluetooth / NFC | 无线通信 |
| Qt Serial Port | 串口通信(嵌入式常用) |
Qt 框架支持的平台:
- 桌面:Windows、macOS、Linux
- 移动:Android、iOS
- 嵌入式:各类 Linux 设备、RTOS
- 微控制器:通过 Qt for MCUs(见下文)
2.2 Qt Creator
Qt 官方提供的 IDE(集成开发环境) ,你写代码、调试、部署都在这里完成。
主要功能:
- 代码编辑器(支持 C++、QML、Python)
- 可视化 UI 设计器(Qt Designer 集成在内)
- 调试器(断点、变量查看、调用栈)
- CMake / qmake 构建系统集成
- 多平台 Kit 管理(一键切换 Android / Desktop / 嵌入式目标)
- Qt AI Assistant 扩展(代码补全、文档生成)
与 VS Code / CLion 的关系: Qt 项目可以在其他 IDE 中开发,但 Qt Creator 对 QML 调试和 Qt 特性的支持是最完整的,新手强烈推荐使用 Qt Creator。
2.3 Qt Design Studio
面向 UI/UX 设计师的可视化设计工具,主要用于:
- 拖拽式构建 QML 界面
- 导入 Figma 设计稿(通过 Qt Bridge for Figma 插件)
- 预览动画效果和交互逻辑
- 将设计直接导出为可运行的 QML 代码
Qt Creator vs Qt Design Studio 的区别:
| Qt Creator | Qt Design Studio | |
|---|---|---|
| 主要用户 | 开发者 | 设计师 |
| 核心操作 | 写代码 | 拖拽设计 |
| 调试支持 | 完整 | 有限 |
| 适合阶段 | 整个开发周期 | UI 原型与视觉设计阶段 |
2.4 Qt for MCUs
专门面向**微控制器(MCU)**的轻量级 UI 框架。
普通的 Qt 框架需要运行在有操作系统的设备上(Linux、Windows 等),而很多嵌入式设备使用的微控制器内存只有几百 KB,根本无法运行完整的 Qt。
Qt for MCUs 解决了这个问题:
- 专为资源极度受限的设备优化
- 支持无操作系统(bare-metal)运行
- 使用与标准 QML 语法兼容的子集编写 UI
- 典型应用场景:汽车仪表盘、家电控制面板、工业 HMI
初学阶段不需要深入 Qt for MCUs,先掌握标准 Qt/QML 开发,之后有嵌入式需求再专项学习。
2.5 Figma to Qt(Qt Bridge for Figma)
设计师在 Figma 中完成 UI 设计后,通过这个插件可以将设计稿直接导出为 Qt Design Studio 可识别的项目文件,减少设计到开发之间的手工转译工作。
工作流程:
Figma 设计稿
↓ Qt Bridge for Figma 插件导出
Qt Design Studio 项目
↓ 开发者接手
Qt Creator 完成逻辑开发
↓
最终应用程序
三、软件质量工具
这一类工具主要面向需要保障代码质量的团队和企业,初学阶段了解即可。
3.1 Squish — GUI 自动化测试
对 Qt 应用进行自动化 UI 测试的工具。可以录制用户操作并回放,验证界面行为是否符合预期。支持 Qt Widgets 和 Qt Quick 应用。
3.2 Coco — 代码覆盖率分析
分析测试用例覆盖了多少代码路径,帮助找出未被测试覆盖的"死角"。支持 C、C++、C# 等语言。
3.3 Axivion — 静态代码分析与架构验证
- Static Code Analysis:在不运行代码的情况下检测潜在 bug、安全漏洞、编码规范违规
- Architecture Verification:确保代码结构与设计文档一致,防止架构腐化
3.4 Test Center — 测试结果管理
集中管理来自不同测试工具的测试结果,提供可视化报告和趋势分析。
四、许可证:开源版 vs 商业版
Qt 采用双许可证模式,这是新手常见的疑惑点:
| 开源版(LGPL/GPL) | 商业版 | |
|---|---|---|
| 费用 | 免费 | 付费订阅 |
| 适用场景 | 开源项目、个人学习 | 闭源商业产品 |
| Qt Creator | 包含 | 包含 |
| Qt Design Studio | 有限制 | 完整功能 |
| Qt for MCUs | 不包含 | 包含 |
| 技术支持 | 社区论坛 | 官方支持 |
对于学习阶段: 开源版完全够用,本系列教程使用的所有功能都在开源版范围内。
五、选择适合你的工具组合
根据不同的开发目标,推荐以下工具组合:
桌面应用开发(Windows / macOS / Linux)
Qt 框架(Core + Widgets 或 Quick)
+ Qt Creator
+ CMake
移动应用开发(Android / iOS)
Qt 框架(Core + Quick)
+ Qt Creator
+ Android SDK/NDK 或 Xcode(iOS)
嵌入式 Linux 设备
Qt 框架(针对目标设备交叉编译)
+ Qt Creator(交叉编译 Kit)
+ Qt Design Studio(可选,用于 UI 设计)
微控制器(MCU)
Qt for MCUs
+ Qt Design Studio
+ Qt Creator
UI 设计师工作流
Figma(设计)
+ Qt Bridge for Figma(导出)
+ Qt Design Studio(预览与调整)
+ 移交开发者用 Qt Creator 完成逻辑
六、资源导航
学习过程中会用到的官方资源:
| 资源 | 地址 | 用途 |
|---|---|---|
| Qt 官方文档 | doc.qt.io | API 参考,最权威的一手资料 |
| Qt Academy | academy.qt.io | 免费官方课程 |
| Qt 论坛 | forum.qt.io | 遇到问题时提问 |
| Qt Blog | blog.qt.io | 新功能、最佳实践文章 |
| Qt GitHub | github.com/qt | 源码、issue 追踪 |
总结
| 产品 | 是什么 | 你什么时候用 |
|---|---|---|
| Qt 框架 | 核心类库和 API | 每时每刻 |
| Qt Creator | 开发 IDE | 每时每刻 |
| Qt Design Studio | 可视化 UI 设计工具 | 设计 UI 原型时 |
| Qt for MCUs | 微控制器 UI 框架 | 做 MCU 嵌入式项目时 |
| Figma to Qt | 设计稿转换工具 | 有 Figma 设计稿时 |
| Squish / Coco / Axivion | 质量保障工具 | 项目进入测试阶段后 |