Qt 官网开源最新版下载安装保姆级教程【2024-8-4 更新】
➤ 什么是Qt(了解请跳过)
➥ Qt 基本介绍
时至今日,Qt 已经经历了诸多变化。并且在未来,它也会不断地更新迭代。所以如果你想要更准确地了解 Qt,应该通过以下几种方法:
① 官方介绍
根据官方文档【https://doc.qt.io/】,Qt 是一个跨平台软件开发框架(the cross-platform software development framework.)。
的确,时至今日,Qt 已经不仅仅是一个 GUI 框架了,Qt 能做的事情,几乎涵盖了软件开发的各个方面。
因此通过旧的定义来看待 Qt,有所局限。所以你应该,自己去官方文档页面看官方的定义,而不是这篇博客。
② 百科(以维基百科为例)
根据维基百科中的定义,Qt 是一个跨平台的 C++ 应用程序开发框架,广泛用于开发 GUI 程序,也可用于开发非 GUI 程序。
这个定义还是相对准确的,但查百科不应该是为了了解其定义,因为百科数据也并不能做到完全实时更新。
查百科是为了了解,Qt 的历史,开源信息,应用领域等其他信息。
③ 询问 AI 聊天机器人(以 Kimi 为例)
时至今日,AI 聊天机器人,已经足够胜任这项工作,并且它能够做的更好。
以下是 Kimi 的回答:
Qt 是一个跨平台的应用程序和用户界面框架,它广泛用于开发图形用户界面程序以及非 GUI 程序。Qt 由 Trolltech 公司(后来被诺基亚收购,再后来被 Digia 公司收购)开发,现在由 Qt Company 维护。Qt 使用 C++ 语言编写,但也提供了其他语言的绑定,如 Python (PyQt) 和 Ruby (QtRuby)。
Qt 提供了一系列工具和库,包括:
- Qt Widgets:用于创建桌面应用程序的一套丰富的图形组件。
- Qt Quick:用于快速开发富有表现力的动态用户界面。
- Qt Multimedia:提供多媒体内容播放和录制功能。
- Qt Network:提供网络通信功能。
- Qt WebEngine:基于 Chromium 的浏览器引擎,用于嵌入式浏览器开发。
- Qt SerialPort:提供串行通信功能。
- Qt Bluetooth:提供蓝牙通信功能。
Qt 支持多种操作系统,包括 Windows、macOS、Linux、Android 和 iOS,使得开发者能够编写一次代码,然后在多个平台上运行,从而节省开发时间和成本。Qt 也支持多种硬件平台,如 x86、ARM 等。Qt 的许可证分为商业版和开源版(LGPL),开发者可以根据自己的需求选择合适的许可证。
Kimi 的介绍,已经足够准确、全面,并且详略得当。
但是计划赶不上变化,官方文档永远是你的第一选择。
➥ Qt 开源版与商业版的区别
截至目前,Qt 仍然主要有两个版本:商业版与开源版。
Qt 的两种版本与通常的专业版与免费版有很大不同,通常的专业版和免费版体现在功能方面,即,专业版往往比免费版多出很多功能。
但 Qt 的商业版与开源版完全不同,它主要体现在许可证方面,功能方面差异不大。
以下内容来自 ChatGPT:
Qt 提供两种版本:商业版和开源版。它们在许可、功能和支持方面有一些显著的区别。
Qt 开源版
许可证:Qt 开源版采用了 GPL(GNU General Public License)和 LGPL(Lesser General Public License)许可证。使用开源版的开发者需要遵守这些许可证的条款,主要包括:
- GPL:要求任何使用 GPL 代码的程序也必须以 GPL 许可证发布,这意味着代码必须开源。
- LGPL:允许开发者在闭源应用中使用 Qt,但如果对 Qt 库进行了修改,这些修改必须开源并回馈给社区。
成本:免费。
支持:主要依赖社区支持和在线文档。官方不提供直接的技术支持。
功能:通常与商业版相同,但在一些高级功能和工具上可能有一些限制。
Qt 商业版
许可证:Qt 商业版采用商业许可证,允许开发者将 Qt 用于闭源商业软件,而不需要开源他们的代码。这提供了更多的灵活性,特别是对于不希望公开代码的企业和开发者。
成本:商业版需要付费,费用根据开发者人数和项目规模而定。
支持:提供官方技术支持,包括技术帮助、培训、定制开发等。订阅商业版的用户可以获得更快的响应时间和更全面的支持服务。
功能:商业版通常包含一些额外的工具和组件,例如高级调试和性能分析工具、企业级的开发支持、长期支持版本(LTS)等。
主要区别总结
- 许可证:开源版(GPL 和 LGPL) vs. 商业版(商业许可证)。
- 成本:开源版免费 vs. 商业版需要付费。
- 支持:开源版依赖社区支持 vs. 商业版提供官方技术支持。
- 功能:商业版可能包含额外的高级功能和工具。
选择哪个版本取决于项目的性质和需求。如果项目需要闭源或需要官方支持,商业版是更好的选择;如果项目可以开源且预算有限,开源版则是一个不错的选择。
总之,个人开发者使用开源版就可以了。
① 下载在线安装包
⑴ 进入网页【https://www.qt.io/download-qt-installer-oss】
⑵ 点击【Qt Online Installer for Windows】
根据自己的平台选择。点击后就会开始下载。
② 注册 Qt 账号(有则跳过)
⑴ 进入网页【https://login.qt.io/register】
⑵ 填好信息后点击【Create Qt Account】
然后:
⑶ 打开收到的邮件,点击这个链接
⑷ 然后跳转到填写信息的页面,随便填
⑸ 信息填好后,点击【Confirm】
⑹ 确认注册好后,不用登录,记住这个邮箱和密码就行
③ 安装
⑴ 打开之前下载好的安装包
安装包文件名说明:4.8.0 不是 Qt 库的版本,也不是 Qt Creator 还是什么的版本,仅仅就是安装包的版本而已(据我推测应该是酱紫)不用管。
⑵ 输入邮箱和密码,然后【下一步】
⑶ 勾选【同意协议】,勾选【我是个人用户】,然后【下一步】
⑷ 欢迎页面,【下一步】
⑸ 选择是否发送数据给 Qt 官方,然后【下一步】
⑹ 选择安装路径、选择安装选项、选择是否关联文件格式,然后【下一步】
ⅰ 安装路径:最好不要有中文和空格,建议纯英文或者默认。
ⅱ 安装选项:这里以【Qt 6.7 for desktop development】为例,在文章最后面会详细介绍。
ⅲ 是否关联文件格式:即下面的“Associate common file types with Qt Creator”(将常见文件类型与 Qt Creator 相关联),根据自己需求进行选择。
⑺ 同意许可协议,然后【下一步】
⑻ 填写开始菜单快捷方式目录名称,然后【下一步】
注意这里是开始菜单快捷方式,不是桌面和开始。
默认即可。
⑼ 准备安装页面,点击【安装】即可
等待安装……
⑽ 安装完成,选择结束安装向导后的操作后,点击【完成】即可
一般都不需要勾选
➤ 安装选项
在最近的在线安装包的安装过程中,都有这四个安装选项,或者叫预安装选项。
① 【Custom installation】(自定义安装)
② 【Qt 6.x for desktop development】(用于桌面开发的 Qt 6.x)
③ 【Qt Design Studio】(Qt 设计工作室)
④ 【Qt 6.x for mobile development】(用于移动开发的 Qt 6.x)
接下来我们分别介绍这四个选项:
➥【Custom installation】
【Custom installation】需要你之后自己选择组件,关于选择组件在之后的章节中详细介绍。
➥【Qt 6.x for desktop development】
选择这一项,会安装一部分用于桌面开发的组件,通常对于桌面开发选择这一项就够了,因为后期如果你需要别的组件,也是可以随时添加的。
➥【Qt Design Studio】
Qt Design Studio(Qt 设计工作室),它是一个工具,支持可视化编程,用过就知道了,这个工具一般都会安装,但往往不是单独安装,所以通常也不会选择这一项。
➥【Qt 6.x for mobile development】
同【Qt 6.x for desktop development】,选择后会安装一部分用于移动开发的组件,对于开发移动应用,选择这一项应该也是足够的。
➤ 组件选择
在了解组件的选择之前,先要告诉你一句话,Qt 提供了丰富的组件。正因为丰富,所以 Qt 强大。
不同的组件适应不同的开发需求,我想说的是,你不太可能同时用到所有的组件,你也不需要在一切开始前就认识所有的组件。
随着 Qt 的不断发展,新组件的增加,和旧组件的更新替换也是常态。
所以你并不需要知道所有的组件是干什么的,你需要的只是从中挑出你需要的组件。
如果你在安装选项这一步选择了【Custom installation】,那么就意味着,你想要自己选择组件,或者你也想了解都有哪些组件,那么本章内容应该会帮到你。
根据上图,中间的是组件列表,右边的是筛选器
➥ 筛选项
我们先了解一下筛选器中的三个筛选项:
- Archive(归档),往期版本。
- Lasted supported releases(最近支持的版本),近期版本。
- Preview(预览),预览版本。
说两句废话,之前我对于这三个筛选项的理解有很大的错误,对于阅读过这篇博客之前版本的读者,我表示抱歉。
之前我将 Lasted supported releases 理解为持续支持的版本,但其实通常会使用 LTS 缩写来表示这种意思。
本文之前的版本中,我给出的建议是将三个筛选项(如果没有特殊需求的话)全部取消勾选,其实这是不对的,我完全搞错且将问题复杂化了。
所以正确的做法是,如果没有对往期版本的需要,筛选项完全可以不用动。
➥ 组件列表
首先解释这三个目录
- Qt Design Studio,Qt 设计工作室,用于可视化编程的工具。
- Extensions,扩展,这一项似乎是在最近新出现的,实际上打开后会发现是一些扩展模块的预览版本。
- Qt,这一项是真正的 Qt 框架和相关工具,真正需要的东西几乎都在这里。
然后我们依次看一下这三个目录下的内容
① Qt Design Studio
-
第一个默认勾选的是最新版本。
-
带 LTS 的是长期支持的版本,更加稳定。
-
带 snapshot 的,是“快照”版本,通常意味着“临时”版本,可能包含最新的特性,但可能不稳定。
这个工具一般都是会选的,就算不用,装上也没什么不好的影响。
② Extensions
这下面分别是一些扩展模块的测试版,根据 beta 关键字就可以得知。每个测试版下面的组件,是为了兼容对应模块的测试版提供的。
其实这三个组件在后面 Qt 目录下也是有的,所以到后面我们再对其进行介绍。
③ Qt
首先以 Qt 开头的是 Qt 框架的几个近期版本的相关组件,我们后面简称 Qt 框架组件。
最后一个是 Qt 的相关工具组件,我们后面简称 Qt 工具组件。
➥ Qt 框架组件
这里以 6.7.2 为例介绍一下,Qt 框架组件(每个版本下的组件基本一致)
Qt 框架组件 | 介绍 |
---|---|
WebAssembly (multi-threaded)、WebAssembly (single-threaded) | Qt for WebAssembly 允许你在 Web 上运行 Qt 应用程序。什么意思呢?就是说你可以将 Qt 应用程序编译成 WebAssembly 格式,使得你可以在网页中运行 Qt 应用程序。 |
MSVC 2019 ARM64 (TP)、LLVM-MinGW 17.0.6 64-bit、MSVC 2019 64-bit、MinGW 11.2.0 64-bit | 这四个组件分别涉及三种编译工具链:MSVC、LLCM-MinGW、MinGW,这三种编译工具链相关的介绍本文不再赘述,可以自行查阅。这四个组件应该不是指工具链本身,而是相应工具链版本的 Qt 库。 |
Android | Android 平台支持。 |
Sources | Qt 源代码。 |
Qt Quick 3D | Qt Quick 3D 模块,用于 3D 图形渲染。 |
Qt 5 Compatibility Module | 提供与 Qt 5 兼容性的模块。 |
Qt Shader Tools | Qt 着色器工具,用于处理图形着色器。 |
Additional Libraries | 额外的库文件。 |
Qt Debug Information Files | Qt 调试信息文件。 |
Qt Quick Timeline | Qt Quick 时间线工具,用于动画和状态管理。 |
Additional Libraries 下的组件:
Additional Libraries 下的组件 | 介绍 |
---|---|
Active Qt | 用于与 COM 和 ActiveX 进行交互的库。 |
Qt 3D | 用于创建 3D 图形和动画的模块。 |
Qt Charts | 用于创建交互式图表的库。 |
Qt Connectivity | 提供蓝牙和 NFC 连接功能的模块。 |
Qt Data Visualization | 用于数据可视化的 3D 图表库。 |
Qt Graphs (TP) | 用于创建图形和网络可视化的库(技术预览版)。 |
Qt HTTP Server (TP) | 用于创建 HTTP 服务器的库(技术预览版)。 |
Qt Image Formats | 支持额外图像格式的插件。 |
Qt Insight Tracker (TP) | 用于应用性能分析的工具(技术预览版)。 |
Qt Language Server | 提供语言服务器协议支持。 |
Qt Location (TP) | 用于位置服务和地图的模块(技术预览版)。 |
Qt Lottie Animation | 用于渲染 Lottie 动画的库。 |
Qt Multimedia | 用于处理多媒体内容的模块。 |
Qt Network Authorization | 提供 OAuth 支持的网络授权模块。 |
Qt PDF | 用于 PDF 文档处理的库。 |
Qt Positioning | 提供位置信息的模块。 |
Qt Protobuf and Qt GRPC (TP) | 支持 Protocol Buffers 和 gRPC 的库(技术预览版)。 |
Qt Quick 3D Physics | 用于 3D 物理模拟的库。 |
Qt Quick Effect Maker | 用于创建自定义 Qt Quick 效果的工具。 |
Qt Remote Objects | 用于对象之间远程通信的框架。 |
Qt Sensors | 用于访问各种传感器的模块。 |
Qt Serial Bus | 用于串行总线通信的模块。 |
Qt Serial Port | 用于串行端口通信的模块。 |
Qt Speech | 用于文本到语音转换的模块。 |
Qt State Machines | 用于创建和管理状态机的模块。 |
Qt Virtual Keyboard | 提供虚拟键盘功能的模块。 |
Qt WebChannel | 用于 Qt 应用和 HTML/JavaScript 客户端之间通信的模块。 |
Qt WebEngine | 基于 Chromium 的 Web 引擎,用于嵌入 Web 内容。 |
Qt WebSockets | 提供 WebSocket 协议支持的模块。 |
Qt WebView | 用于显示 Web 内容的轻量级模块。 |
➥ Qt 工具组件
Qt 相关工具组件 | 介绍 |
---|---|
LLVM-MinGW 17.0.6 64-bit | LLVM-MinGW 工具链的 17.0.6 64-bit 版本。 |
Qt Creator 14.0.0 | Qt 官方的 IDE。 |
Qt Creator 14.0.0 CDB Debugger Support | 为 Qt Creator 提供 Windows 调试器 CDB(Console Debugger)的支持。 |
Debugging Tools for Windows | 适用于 Windows 的调试工具集。 |
Qt Creator 14.0.0 Debug Symbols | Qt Creator 的调试符号,用于更好的调试体验。 |
Qt Creator 14.0.0 Plugin Development | 用于开发 Qt Creator 插件的工具。 |
MinGW (多个版本) | 不同版本的 MinGW-w64 工具链。 |
Qt Installer Framework 4.8 | 用于创建 Qt 应用程序安装程序的工具。 |
CMake 3.29.3 | 跨平台的构建系统生成器,广泛用于 C++ 项目。 |
Ninja 1.12.0 | 一个小型的构建系统,专注于速度。 |
OpenSSL 3.0.12 Toolkit | 开源的 SSL 和 TLS 协议的工具包,用于安全通信。 |