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 提供了一系列工具和库,包括:

  1. Qt Widgets:用于创建桌面应用程序的一套丰富的图形组件。
  2. Qt Quick:用于快速开发富有表现力的动态用户界面。
  3. Qt Multimedia:提供多媒体内容播放和录制功能。
  4. Qt Network:提供网络通信功能。
  5. Qt WebEngine:基于 Chromium 的浏览器引擎,用于嵌入式浏览器开发。
  6. Qt SerialPort:提供串行通信功能。
  7. Qt Bluetooth:提供蓝牙通信功能。

Qt 支持多种操作系统,包括 Windows、macOS、Linux、Android 和 iOS,使得开发者能够编写一次代码,然后在多个平台上运行,从而节省开发时间和成本。Qt 也支持多种硬件平台,如 x86、ARM 等。Qt 的许可证分为商业版和开源版(LGPL),开发者可以根据自己的需求选择合适的许可证。

Kimi 的介绍,已经足够准确、全面,并且详略得当。

但是计划赶不上变化,官方文档永远是你的第一选择。

➥ Qt 开源版与商业版的区别

截至目前,Qt 仍然主要有两个版本:商业版开源版

Qt 的两种版本与通常的专业版与免费版有很大不同,通常的专业版和免费版体现在功能方面,即,专业版往往比免费版多出很多功能。

但 Qt 的商业版与开源版完全不同,它主要体现在许可证方面,功能方面差异不大。

以下内容来自 ChatGPT:

Qt 提供两种版本:商业版和开源版。它们在许可、功能和支持方面有一些显著的区别。

Qt 开源版

  1. 许可证:Qt 开源版采用了 GPL(GNU General Public License)和 LGPL(Lesser General Public License)许可证。使用开源版的开发者需要遵守这些许可证的条款,主要包括:

    • GPL:要求任何使用 GPL 代码的程序也必须以 GPL 许可证发布,这意味着代码必须开源。
    • LGPL:允许开发者在闭源应用中使用 Qt,但如果对 Qt 库进行了修改,这些修改必须开源并回馈给社区。
  2. 成本:免费。

  3. 支持:主要依赖社区支持和在线文档。官方不提供直接的技术支持。

  4. 功能:通常与商业版相同,但在一些高级功能和工具上可能有一些限制。

Qt 商业版

  1. 许可证:Qt 商业版采用商业许可证,允许开发者将 Qt 用于闭源商业软件,而不需要开源他们的代码。这提供了更多的灵活性,特别是对于不希望公开代码的企业和开发者。

  2. 成本:商业版需要付费,费用根据开发者人数和项目规模而定。

  3. 支持:提供官方技术支持,包括技术帮助、培训、定制开发等。订阅商业版的用户可以获得更快的响应时间和更全面的支持服务。

  4. 功能:商业版通常包含一些额外的工具和组件,例如高级调试和性能分析工具、企业级的开发支持、长期支持版本(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 协议的工具包,用于安全通信。
posted @ 2023-11-10 01:32  Mtueih  阅读(19836)  评论(1编辑  收藏  举报