Qt 是一套以 C++ 编写的跨平台应用开发框架,凭借丰富的类库,能为桌面计算机、服务器、移动设备乃至单片机开发各类应用,尤其擅长构建图形用户界面(GUI)程序。
历经 30 多年发展,Qt 的应用愈发广泛,功能也持续丰富,现已成为跨平台应用开发的首选 C++ 框架。其技术特点鲜明,支持跨平台开发,让开发者能高效打造多设备适用的应用。
Qt 6 作为重要版本,带来了诸多新特性,进一步提升了框架的性能与适用性。在开发工具方面,Qt 自带集成开发环境 Qt Creator,方便开发者进行安装和使用,为开发工作提供了便捷支持。
1.1QT跨平台开发
Qt 的跨平台能力是其核心优势之一,也是它能在众多开发框架中脱颖而出的关键所在。作为以 C++ 编写的框架,Qt 通过封装底层操作系统的差异,为开发者提供了统一的应用程序接口(API)和类库,使得开发者只需编写一次代码,就能在不同平台上顺畅运行,极大地简化了跨平台开发流程。
从覆盖的平台来看,Qt 的跨平台能力体现在对多种设备和系统的广泛支持。它不仅能满足桌面计算机(如 Windows、macOS、Linux 等系统)的开发需求,还可应用于服务器领域。在移动设备方面,Android 和 iOS 系统上的应用开发也能借助 Qt 实现。更值得一提的是,Qt 还能支持单片机等嵌入式设备的应用开发,展现出极强的适应性,让开发者无需为不同平台单独设计开发方案。
这种强大的跨平台能力,为开发者带来了显著的便利和效率提升。开发者无需深入掌握不同平台的底层技术细节,只需专注于应用的功能逻辑和用户界面设计,就能快速打造出在多平台上表现一致的应用,尤其在图形用户界面(GUI)程序开发中,能保证界面风格和交互体验在不同设备上的统一性,大大降低了开发成本和时间成本,也让 Qt 成为跨平台应用开发的理想选择。
目标设备 | 目标平台 | 主机平台 |
计算机 |
桌面Linux macOS Windows |
桌面Linux macOS Windows |
移动设备 |
Android ios 手机Windows |
桌面 Linux、macos、Windows macOs Windows |
嵌入式设备 |
嵌入式Linux QNX VxWorks 嵌入式Windows |
桌面Linux 桌面 Linux、Windows 桌面 Linux、Windows Windows |
单片机 | FreeRTOS或无操作系统 | windows、桌面Linux |
1.2QT6的许可类型与安装
QT6 为满足不同开发者及项目需求,提供了多种许可类型:
- 商业许可证:适用于开发专有或商业软件,开发者无需向第三方分享源代码,也无需遵循 GNU LGPL 版本 3 的条款。购买商业许可证后,开发者能够获取 Qt 公司的技术支持,且在开发过程中可使用所有模块,部分特定模块仅在商业许可版本中可用 ,有助于打造闭源的商业应用。
- GNU 宽通用公共许可证(LGPL)v3:若开发者能够遵守 GNU LGPL 第 3 版(或 GNU GPL 第 3 版)的条款和条件,便可采用此许可开发 QT 应用。该许可相对宽松,允许开发者动态链接到 Qt 库,开发专有软件。不过,若对 Qt 库本身进行了修改,则修改后的库必须开源,同时需遵循 LGPLv3 的其他条款,例如提供应用程序与库的链接机制(通常动态链接即可满足),以及提供库的源代码。
- GNU 通用公共许可证(GPL)v3:使用基于 GPLv3 授权的 Qt 模块开发应用时,要求应用程序也必须以 GPLv3(或更高版本)发布,即应用程序的源代码必须开源。此许可具有较强的 “传染性”,旨在保障软件的开源性质,若项目需要将软件商业化销售同时又不开源代码,则不适用此许可 。
- Qt 市场许可协议:该协议适用于使用 Qt 软件组件(通常这些组件基于商业或 GNU LGPL 版本 3 或 GNU GPL 版本 3 条款和条件获得许可)进行 Qt 应用开发的场景。
此外,QT6 中还包含一些采用特定开源许可证的第三方代码。需要注意的是,对于开源许可的 QT6,部分特定模块并非基于 GNU LGPL 版本 3,而是基于 GNU GPL 提供,开发者在使用时需留意相关细节。
QT6 的安装包介绍:
QT6 安装包可适配 Windows、Linux、macOS 等多种主机平台,主要安装方式有以下两种:
在线安装
- 下载安装器:访问 Qt 官方网站的下载页面(Try Qt | Develop Applications and Embedded Systems | Qt),根据所使用的操作系统,选择对应的在线安装器进行下载。例如,Windows 系统下载.exe 文件,macOS 系统下载.dmg 文件,Linux 系统下载.run 文件。
- 运行安装器:
- Windows:下载完成后,直接双击.exe 安装程序启动安装流程。
- macOS:双击打开下载的.dmg 文件,将安装器拖放到 “应用程序” 文件夹,随后双击运行安装器。
- Linux:在终端中,通过命令赋予.run 文件执行权限并运行。比如,若下载的文件为 qt-unified-linux-x64-online.run ,可执行命令 chmod +x qt-unified-linux-x64-online.run,然后运行 ./qt-unified-linux-x64-online.run。
- 安装流程:运行安装器后,依照提示逐步操作。安装过程中,需要注册或登录 Qt 账户。接着进入组件选择界面,可根据开发需求勾选相应的 QT6 模块,例如开发桌面应用程序,通常需要选中 Qt Widgets 模块。同时,还需指定安装路径,建议选择非系统盘,以免影响系统稳定性。安装完成后,可通过打开 Qt Creator 或者在终端中运行 qmake -v 命令,来验证安装是否成功。由于在线安装需要实时下载所需的模块和组件,因此安装过程需保持稳定的网络连接。
源码编译安装
- 下载源码包:可前往 Qt 官方网站或者开源软件镜像站(如清华、阿里等),下载 QT6 的源码包,常见格式为 qt-everywhere-src-6.x.x.zip 。
- 解压源码包:将下载好的源码包解压至指定目录,注意解压路径不要包含中文字符或空格。
- 安装依赖项:编译 QT6 需要多个依赖项,像 CMake、Ninja、Python 3、Node.js 等,不同操作系统安装方式各异。以 Ubuntu 系统为例,可通过特定命令安装相关依赖。
- 编译 QT6:进入解压后的 Qt 源码目录,运行 configure 脚本进行配置。例如,-prefix选项用于指定安装路径,-opensource表示使用开源许可证,-confirm-license可自动确认许可协议,-nomake examples -nomake tests意味着不编译示例和测试,以节省编译时间。配置完成后,执行make命令开始编译,此过程耗时较长,时长取决于计算机性能。编译结束后,运行make install命令完成安装。安装结束后,同样可运行qmake -v命令检查安装是否成功。
与在线安装相比,源码编译安装能让开发者根据自身需求定制 Qt 库,但操作更为复杂,需要开发者具备一定的编译和配置知识。
1.3QT支持的语言
Qt 是一个跨平台的应用程序开发框架,目前支持多种开发语言,主要包括:
1. C++: C++ 是 Qt 的原生开发语言,也是最常用的语言。Qt 框架本身就是用 C++ 编写的,提供了完整的类库和 API,支持面向对象编程,能够充分发挥 Qt 的全部功能和性能优势。
2. Python(通过 PyQt 或 PySide):借助第三方绑定库(如 PyQt 或 Qt 官方推出的 PySide),可以使用 Python 开发 Qt 应用。这种方式简化了开发流程,适合 Python 开发者快速构建 Qt 界面和功能,但其性能和对底层的控制力略逊于 C++。
3. QML: QML 是一种声明式标记语言(类似 JSON 和 JavaScript 的结合),主要用于设计现代、动态的用户界面,常与 JavaScript 配合使用。它通常与 C++ 结合开发:QML 负责界面呈现,C++ 处理业务逻辑,适合开发具有流畅动画和交互效果的应用。
4. JavaScript: 可以在 QML 中直接使用 JavaScript 编写逻辑代码,用于处理界面交互、数据处理等轻量任务,是 QML 开发的重要补充。
此外,Qt 曾经对其他语言(如 Java、C#)有过支持,但目前这些语言的相关工具和库已不再更新或维护,因此主流开发仍以 C++、Python(通过绑定库)和 QML/JavaScript 为主。