1. Qt 简介
Qt 是一个跨平台的 C++ 应用程序开发框架,由挪威的 Trolltech 公司于 1991 年开发,最初名为 Qt(发音为“cute”)。Qt 提供了一套完整的 GUI 工具包,同时也支持非 GUI 程序的开发,如命令行工具和服务器端应用。它被广泛应用于桌面应用、嵌入式系统、移动应用和工业自动化等领域。
Qt 的核心优势在于其“一次编写,处处编译”的跨平台能力,开发者可以使用同一套代码在 Windows、Linux、macOS、Android、iOS 以及各类嵌入式 ARM 平台上编译运行,大幅降低了多平台开发与维护的成本。
2. Qt 发展历程
Qt 经历了多个重要版本阶段,每个版本都带来了显著的功能改进和架构变化。
Qt 1.x - Qt 4.x:早期发展阶段
Qt 1.0 于 1995 年正式发布,最初仅支持 Unix/X11 平台。1999 年 Qt 2.0 发布,引入了模板库和国际化支持。2001 年 Qt 3.0 发布,增强了跨平台能力并支持 Windows 和 macOS。2005 年 Qt 4.0 发布,这是一次重大架构重构,引入了全新的图形视图框架、信号槽机制的优化以及更完善的跨平台支持。
Qt 5.x:模块化与性能提升
Qt 5.0 于 2012 年发布,是另一个重要的里程碑版本。Qt 5 将核心功能拆分为多个独立模块,如 Qt Core、Qt GUI、Qt Widgets、Qt QML 等,使开发者可以按需引入模块,减小应用体积。同时,Qt 5 引入了 Qt Quick 和 QML 语言,为开发流畅的触摸界面和动画效果提供了更高效的方案。Qt 5 还加强了对 OpenGL、Vulkan 等图形 API 的支持,显著提升了渲染性能。
Qt 6.x:现代化与长期支持
Qt 6.0 于 2020 年 12 月发布,是当前最新的主要版本系列。Qt 6 在架构上进一步现代化,重构了图形渲染管线,默认使用 RHI(Rendering Hardware Interface)抽象层,支持 Direct3D、Metal 和 Vulkan 等底层图形 API。Qt 6 还引入了 Qt Quick 3D、改进的 QML 引擎和更高效的 C++17 支持。Qt 6 提供 LTS(长期支持)版本,如 Qt 6.2、Qt 6.5 和 Qt 6.8,适合企业级项目长期稳定使用。
| 版本系列 | 发布时间 | 主要特点 |
|---|---|---|
| Qt 4.x | 2005 年 | 架构重构,图形视图框架,跨平台增强 |
| Qt 5.x | 2012 年 | 模块化设计,Qt Quick/QML,性能提升 |
| Qt 6.x | 2020 年 | RHI 渲染抽象,Qt Quick 3D,C++17 支持 |
3. 常用工具
Qt 生态提供了丰富的开发工具,覆盖从界面设计、项目管理到性能分析的完整开发流程。
3.1 Qt Creator
Qt Creator 是 Qt 官方提供的集成开发环境(IDE),支持代码编辑、调试、UI 设计和版本控制集成。它内置了 Qt Designer 可视化界面编辑器,支持拖拽式设计 Widgets 界面,并集成了 QML 编辑器和 Qt Quick 设计器,是 Qt 开发的首选工具。
3.2 Qt Designer
Qt Designer 是独立的界面设计工具,用于可视化创建和编辑 Qt Widgets 界面。开发者可以通过拖拽控件、设置布局和属性来快速搭建界面,生成的 .ui 文件可被 Qt Creator 或命令行工具转换为 C++ 代码。
3.3 Qt Linguist
Qt Linguist 是 Qt 的国际化(i18n)翻译工具,帮助开发者将应用程序界面翻译为多种语言。它配合 lupdate 和 lrelease 命令行工具使用,实现翻译文件的提取、编辑和编译,是面向全球发布应用的重要工具。
3.4 qmake 与 CMake
qmake 是 Qt 传统的构建工具,基于 .pro 项目文件生成 Makefile,简单易用。CMake 是更通用的跨平台构建系统,从 Qt 6 开始成为官方推荐的构建工具,支持更复杂的项目结构和第三方依赖管理。
3.5 命令行工具
Qt 还提供了一系列实用的命令行工具,包括 moc(元对象编译器)、uic(UI 编译器)、rcc(资源编译器)以及 qmlscene、qmlruntime 等 QML 运行调试工具,这些工具在构建和调试过程中发挥着重要作用。
4. Qt 的安装
4.1 Windows 平台
在 Windows 平台安装 Qt 主要推荐使用官方在线安装器,步骤如下:
- 访问 Qt 官方网站下载 Qt Online Installer(在线安装器)。
- 运行安装器,登录 Qt 账号(没有账号需先注册)。
- 选择安装目录,建议使用默认路径或自定义无中文路径。
- 在组件选择界面,根据需求勾选 Qt 版本(如 Qt 6.5.3)、编译套件(如 MSVC 2019 64-bit 或 MinGW 11.2.0)以及 Qt Creator 和附加模块。
- 点击安装,等待下载和安装完成。
- 安装完成后,在 Qt Creator 中配置对应的编译器套件(Kit),即可创建和编译 Qt 项目。
需要注意的是,MSVC 套件需要预先安装对应版本的 Visual Studio 或 Build Tools,MinGW 套件则自带编译器,无需额外安装。
4.2 Linux 平台
Linux 平台安装 Qt 有两种常见方式:使用发行版软件包管理器或使用官方在线安装器。
使用软件包管理器安装
对于 Ubuntu/Debian 系统,可以使用 apt 命令安装 Qt 开发包:
sudo apt update sudo apt install qt6-base-dev qt6-tools-dev-tools qtcreator对于 Fedora/RHEL 系统,可以使用 dnf 命令:
sudo dnf install qt6-qtbase-devel qt6-qttools-devel qt-creator这种方式安装简单,但版本可能不是最新,适合快速体验和一般开发。
使用官方在线安装器
从 Qt 官网下载 Linux 版在线安装器,赋予执行权限后运行:
chmod +x qt-online-installer.run ./qt-online-installer.run安装流程与 Windows 类似,选择安装目录、Qt 版本和编译套件(通常选择 GCC 64-bit)。安装完成后,在 Qt Creator 中配置 GCC 编译器套件即可使用。
4.3 ARM 平台
ARM 平台广泛应用于嵌入式设备、树莓派和部分服务器。Qt 在 ARM 平台的安装方式取决于目标设备的操作系统和架构。
4.3.1 直接安装
对于运行 Linux 的 ARM 设备(如树莓派、飞腾、鲲鹏等),可以使用软件包管理器直接安装 Qt:
sudo apt update sudo apt install qt6-base-dev qt6-tools-dev-tools这种方式安装的是针对 ARM 架构编译好的 Qt 库,适用于直接在设备上进行开发和运行。
4.3.2 交叉编译安装
对于资源受限的嵌入式 ARM 设备,通常需要在开发主机上进行交叉编译。步骤如下:
- 在开发主机上安装交叉编译工具链,如 arm-linux-gnueabihf-gcc 或 aarch64-linux-gnu-gcc。
- 下载 Qt 源码包,使用交叉编译工具链配置并编译 Qt 库。
- 将编译生成的 Qt 库和头文件部署到目标 ARM 设备。
- 在开发主机上使用 Qt Creator 配置交叉编译套件,编写代码并交叉编译生成 ARM 可执行程序。
- 将可执行程序拷贝到 ARM 设备上运行。
交叉编译需要仔细配置 sysroot、编译器路径和 Qt 模块选项,是嵌入式开发中较为复杂但非常关键的环节。
5. 总结
Qt 作为成熟的跨平台开发框架,经历了从 Qt 4 到 Qt 6 的持续演进,功能日益强大,生态不断完善。无论是桌面应用、嵌入式系统还是移动开发,Qt 都提供了完整的工具链和灵活的安装方式。开发者可以根据目标平台和项目需求,选择合适的 Qt 版本、编译套件和安装方案,快速搭建高效的开发环境。