Qt Group 产品开发者必须了解的完整生态(二)

0 阅读6分钟

适合人群: 刚安装好 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 NetworkHTTP、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 CreatorQt 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.ioAPI 参考,最权威的一手资料
Qt Academyacademy.qt.io免费官方课程
Qt 论坛forum.qt.io遇到问题时提问
Qt Blogblog.qt.io新功能、最佳实践文章
Qt GitHubgithub.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质量保障工具项目进入测试阶段后