🔥 个人主页: Mercury
🍉 学习方向: C/C++方向学习者
⭐ 人生格言:给时光以生命,而不是给生命以时光
目录
- 一、Qt 背景介绍
- 1.1 什么是 Qt
- 1.2 Qt 的发展史
- 1.3 Qt 支持的平台
- 1.4 Qt 版本与许可证
- 1.5 Qt 的优点
- 1.6 Qt 的应用场景
- 1.7 Qt 的成功案例
- 1.8 Qt 的发展前景与就业分析
- 二、搭建 Qt 开发环境
- 2.1 Qt 的开发工具概述
- 2.2 Qt SDK 的下载和安装
- 2.2.1 Qt SDK 的下载
- 2.2.2 Qt SDK 的安装
- 2.3 验证 Qt SDK 安装是否成功
- 2.4 Qt 环境变量配置
- 总结
一、Qt 背景介绍
1.1 什么是 Qt
Qt 是一个跨平台的 C++ 图形用户界面应用程序框架。它为应用程序开发者提供了建立艺术级图形界面所需的所有功能,是完全面向对象的,很容易扩展。
Qt 还为开发者提供了一种基于组件的开发模式:开发者可以通过简单的拖拽和组合来实现复杂的应用程序,同时也可以使用 C++ 语言进行高级开发。
这里先解释一个概念 ——图形用户界面(GUI),指采用图形方式显示的计算机操作用户界面,是计算机与其使用者之间的对话接口,也是计算机系统的重要组成部分。我们每天用的手机桌面就是最典型的图形用户界面.
1.2 Qt 的发展史
Qt 并不是什么新东西,它已经有三十多年的历史了,几个关键的时间节点:
1991 年,Qt 最早由奇趣科技开发;
1996 年,进入商业领域,它也是目前流行的 Linux 桌面环境 KDE 的基础;
2008 年,奇趣科技被诺基亚公司收购,Qt 成为诺基亚旗下的编程工具;
2012 年,Qt 又被 Digia 公司收购;
2014 年 4 月,跨平台的集成开发环境 Qt Creator 3.1.0 发布,同年 5 月 20 日发布了 Qt 5.3 正式版,至此 Qt 实现了对 iOS、Android、Embedded 等各平台的全面支持。
1.3 Qt 支持的平台
Qt 最大的特点就是跨平台,几乎支持所有主流平台:
Windows:XP、Vista、Win7、Win8、Win2008、Win10;
Unix/X11:Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX、FreeBSD、BSD/OS,以及其他很多 X11 平台;
Macintosh:Mac OS X;
Embedded:有帧缓冲支持的嵌入式 Linux 平台、Windows CE;
Android。
1.4 Qt 版本与许可证
目前最新的版本是 Qt 6,但相对来说 Qt 6 和 Qt 5 之间的核心功能区别不大,并且企业中也仍然有大量项目在使用 Qt 5。因此本系列仍然使用Qt 5版本来进行介绍(课件以 5.14.2 为例)。
另外,Qt 在发布时还提供了两种许可证:
商业许可:开发者以商业目的使用 Qt 框架进行开发和发布软件的许可。开发者需要购买商业许可,并按照相关规定使用 Qt 框架。商业许可提供了更多的功能和服务,适合商业软件开发;
开源许可:开发者以非商业目的使用 Qt 框架进行开发和发布软件的许可。开发者可以免费使用 Qt 框架,但需要遵守开源许可协议的要求,比如在软件中包含 Qt 许可协议的声明等。
1.5 Qt 的优点
Qt 能流行这么多年,自然有它的过人之处:
跨平台,几乎支持所有的平台;
接口简单,容易上手,学习 Qt 框架对学习其他框架也有参考意义;
一定程度上简化了内存回收机制;
开发效率高,能够快速地构建应用程序;
有很好的社区氛围,市场份额在缓慢上升;
可以进行嵌入式开发。
1.6 Qt 的应用场景
1. 桌面应用程序
Qt 能够创建各种类型的桌面应用程序,包括文件管理器、媒体播放器、绘图程序等。Qt 应用程序支持多种操作系统,可以运行在 Windows、Linux、macOS 等桌面操作系统上。
2. 移动应用程序
Qt 支持 Android 和 iOS 移动操作系统,为应用程序提供了强大的跨平台能力。可以使用 Qt 构建各种移动应用程序,例如社交应用、游戏、娱乐等。
3. 嵌入式系统
Qt 在嵌入式领域应用非常广泛,它可以构建面向各种设备的图形应用程序,在机顶盒、车载娱乐系统、安防监控设备等领域具有广泛的应用。
1.7 Qt 的成功案例
光说可能没什么概念,其实很多我们天天在用的软件,背后都有 Qt 的身影。
1. Linux 桌面环境 KDE
KDE 是 Linux 上最流行的桌面环境之一,整个就是基于 Qt 构建的:
2. WPS Office 办公软件
国产办公软件 WPS 也使用了 Qt,这也是它能同时在 Windows、Linux、macOS 上保持统一界面的重要原因。
3. Skype 网络电话
Skype 是一款即时通讯软件,具备 IM 所需的各种功能,比如视频聊天、多人语音会议、多人聊天、传送文件、文字聊天等。它可以高清晰地与其他用户语音对话,也可以拨打国内国际电话,无论固定电话、手机均可直接拨打,并且可以实现呼叫转移、短信发送等功能:
4. Google Earth 谷歌地图
谷歌地球这款可以把地球转到任意角落查看卫星影像的软件,同样是 Qt 开发的:
5. VLC 多媒体播放器
开源播放器里大名鼎鼎的 VLC,以及界面中展示的 ALLPLAYER,也都使用 Qt 编写界面:
6. VirtualBox 虚拟机软件
VirtualBox 号称是最强的免费虚拟机软件,它的界面也是用 Qt 实现的:
1.8 Qt 的发展前景与就业分析
Qt 是一个强大且广泛应用于跨平台软件开发的框架,提供了丰富的工具和库,可用于开发高质量、高效率的图形用户界面(GUI)应用程序,并且可以在 Windows、Linux、macOS 等多种操作系统上运行。下面从行业发展方向、就业前景和薪资三个方面来看。
1. 行业发展方向
物联网(IoT)和嵌入式系统的发展:在当下的嵌入式和物联网行业中,Qt 的作用逐渐得到体现,因为可以用它来开发具有 GUI 界面的嵌入式应用程序,这对于智能家居、汽车以及医疗设备等领域来说,具有非常重要的作用;
自动驾驶和智能交通领域:现在很多汽车都引入了自动驾驶技术,而 Qt 在其中也有着广泛的应用,它可以开发车载嵌入式系统和用户界面程序。随着自动驾驶技术的发展,Qt 在这方面的需求也会不断增多;
游戏开发:Qt 有一些非常重要的功能模块,例如 Qt 3D Studio,可以应用于游戏开发。未来游戏行业持续发展,Qt 在游戏行业的应用也会越来越多。
2. 就业方面的发展前景
广泛的就业机会:Qt 在各个行业的应用逐渐广泛,对于掌握 Qt 开发能力的人员需求也在不断增加。相比于其他行业应用来说,Qt 就业面更广,选择性更多;
高薪水和职业发展机会:Qt 作为一项专业技能,掌握此项技术的开发者获得的薪资报酬也非常可观,具有更多的职业发展机会。
3. 就业薪资
下面是招聘网站上 C++/Qt 开发岗位的真实情况,可以看到大多要求 2 年左右经验,月薪普遍在 1 万上下,一线城市能到 2 万以上:
总的来说,如果掌握了 Qt 开发技术,未来的发展前景还是很不错的。
二、搭建 Qt 开发环境
认识完 Qt,接下来动手把开发环境搭起来。
2.1 Qt 的开发工具概述
Qt 支持多种开发工具,其中比较常用的有:Qt Creator、Visual Studio、Eclipse。
1. Qt Creator
Qt Creator 是一个轻量级的跨平台集成开发环境(IDE),专为使用 Qt 框架进行应用程序开发而设计。它功能强大、易于使用、快速高效,被广泛用于编写各种类型的应用程序,如桌面应用程序、移动应用程序和嵌入式系统等。
Qt Creator 提供了可视化的界面设计器和代码编辑器,可以帮助开发者更快捷地创建复杂的用户界面和处理各种事件;还包含调试工具、版本控制工具、自动完成和智能提示等功能,以及支持多语言和跨平台的开发环境。
它的主要特点包括:
紧密集成的 Qt 框架:Qt Creator 专门为 Qt 开发而设计,与 Qt 框架集成得非常紧密,使开发者可以更容易地管理和部署应用程序;
强大的编辑器:具备语法高亮、代码折叠、智能提示、自动完成和代码重构等功能;
集成的调试器:内置调试器,允许开发者在代码中设置断点,检查变量、堆栈和调用树等信息;
高效的构建系统:可以自动构建和部署应用程序,同时支持使用不同的编译器和平台;
可视化界面设计器:允许开发人员在没有编写代码的情况下创建复杂的用户界面;
多语言支持:支持多种编程语言,包括 C++、QML、JavaScript 等。
总而言之,Qt Creator 是一个功能齐全、易于使用且高效的跨平台 IDE,特别适合使用 Qt 框架的开发者。本系列后续课程就使用 Qt Creator 开发 Qt 程序。
2. Visual Studio
Visual Studio 是由微软公司开发的集成开发环境(IDE),可以用来开发多种类型的应用程序,包括 Windows 桌面应用程序、Web 应用程序、移动应用程序、游戏等。它提供了丰富的开发工具和功能,包括代码编辑器、调试器、自动完成、代码重构、版本控制等,支持 C++、C#、Visual Basic、F#、Python 等多种编程语言,还可以与 Azure 云服务、GitHub、Jenkins 等工具和服务集成。
主要特点有:多语言支持、丰富的工具集、可视化设计(窗体设计器、WPF 设计器等)、跨平台开发、强大的集成调试器,以及通过安装扩展获得的良好扩展性。
3. Eclipse
Eclipse 是著名的跨平台自由集成开发环境(IDE),最初主要用于 Java 语言开发,但目前也可以通过插件使其作为 C++、Python 等其他语言的开发工具。Eclipse 本身只是一个框架平台,但众多插件的支持使得它拥有其他功能相对固定的 IDE 很难具有的灵活性,许多软件开发商以 Eclipse 为框架开发自己的 IDE。Qt 框架可以与 Eclipse 集成,使开发者使用 Eclipse 的强大功能来开发 Qt 应用程序。
2.2 Qt SDK 的下载和安装
2.2.1 Qt SDK 的下载
Qt 提供了官方下载地址和国内镜像地址,国内用户建议用清华镜像,速度快很多:
Qt 下载官网:http://download.qt.io/archive/qt/
国内清华源:https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/
进入官网后,按下面的步骤选择对应的系统版本下载即可。
第 1 步:打开链接,进入版本列表界面。这里列出了 Qt 的所有版本,我们选择一个稳定,适合学习的版本 5.14:
第 2 步:进入 5.14 目录后,选择具体的小版本5.14.2。
第 3 步:在 5.14.2 目录中,选择 Windows 桌面应用程序的安装包,即qt-opensource-windows-x86-5.14.2.exe,大小约 2.3 G:
列表中同时提供了 macOS(
.dmg)和 Linux(
.run)的安装包,使用其他系统的同学选择对应版本即可。
2.2.2 Qt SDK 的安装
第 1 步:找到下载好的文件,准备双击运行。
⚠️注意:安装程序会要求登录或注册 Qt 账号登录之后才能进入下一步,嫌麻烦的同学可以断网跳过。
第 2 步:断网后双击安装包,会直接进入欢迎界面,提示这是 Qt 5.14.2 的开源版本安装程序,点击Next:
第 3 步:选择安装路径。
⚠️注意:安装路径中绝对不能出现中文,否则即使装上了也无法使用。
第 4 步:选择安装组件。这里我们安装的就是 Qt Creator。如果电脑磁盘空间允许,建议全选以便后续使用,全选大约需要 11.07 GB:
第 5 步:如果磁盘空间不够,可以只选择部分组件,其他未安装的组件在使用时还可以另行添加。下面这张图把每个组件是干什么的都标出来了,建议仔细看一下:
在Qt 5.14.2这一组里,需要重点关注:
MinGW 7.3.0 64-bit:Windows 系统上 Qt 的编译模块,必选;
MSVC 2015/2017 32-bit、64-bit:这是 Visual Studio 的编译模块,使用它的前提是提前安装了相关版本的 VS,没装就不用勾;
UWP / Android 相关模块:分别用于 Windows 通用平台和 Android 平台开发;
Sources:Qt 中 C++ 类的源码;
Qt Charts:第三方图表模块,主要用于绘制折线图、柱状图等;
Qt Quick 3D:Qt 自带的 3D 图形系统,使用 QML 进行开发;
Qt Data Visualization:用于数据三维显示,包括三维柱状图、三维曲面等;
Qt Lottie Animation:开源的动态渲染库;
Qt Virtual Keyboard:虚拟键盘;
Qt WebEngine:Web 浏览器引擎;
Qt Script (Deprecated):脚本模块,括号中的 Deprecated 表示该模块已经过时;
Qt Quick Timeline:用于控制动画的时间轴。
在Developer and Designer Tools这一组里:
Qt Creator 4.11.1 CDB Debugger Support:Qt 中的调试器;
MinGW 7.3.0 64-bit:Qt 的编译模块,勾选;
Strawberry Perl 5.22.1.3:用于编译 Qt 源代码的 Perl 开发环境,普通使用不需要安装。
第 6 步:勾选 “I have read and agree to the terms contained in the license agreements.”,同意安装协议,然后点击下一步。
第 7 步:选择开始菜单快捷方式的位置,默认即可,继续下一步。
第 8 步:确认安装信息后,点击 “安装” 进入安装界面。
第 9 步:等待安装完成,整个过程需要一些时间。
第 10 步:安装结束后,勾选 Launch Qt Creator,点击 “完成” 按钮即可。
2.3 验证 Qt SDK 安装是否成功
装完之后,最好验证一下环境是否真的可用,Qt Creator 自带了很多官方示例,直接跑一个就能验证。
第 1 步:双击打开 Qt Creator,在 “欢迎模式” 下切换到 “示例” 界面,这里列出了大量官方示例:
第 2 步:在示例中任选其中一个(比如 Calendar Widget Example 日历示例),单击打开。单击之后会先弹出一个文档介绍窗口,把它关闭即可。
第 3 步:关闭文档后会进入项目配置界面,选择好刚才安装的构建套件(Desktop Qt 5.14.2 MinGW 64-bit),点击Configure Project:
第 4 步:进入代码编辑界面后,点击左下角的绿色三角形,构建并运行:
如果程序能够成功构建并运行,说明安装无误。示例运行结果如下,这是一个功能完整的日历控件:
2.4 Qt 环境变量配置
最后一步是配置环境变量,这样在命令行里也能直接使用 Qt 的相关工具。
第 1 步:找到 Qt 的安装路径,定位到编译器版本下的bin目录,复制这个路径。
第 2 步:依次打开 “此电脑” →(鼠标右键)“属性” → “高级系统设置” → “环境变量”。或者直接任务栏搜索框搜索高级系统设置也可以。
第 3 步:在用户变量中找到Path,点击编辑,选择 “新建”,把刚才复制的bin路径填进去:
第 4 步:一路点击 “确定” 保存。
⚠️注意:关掉所有窗口时一定要点击 “确定”,否则上述配置无效。
为什么要设置环境变量?
环境变量是操作系统中一个具有特定名字的对象,它包含了一个或多个应用程序将要使用到的信息。例如 Windows 和 DOS 中的 Path 环境变量:当要求系统运行一个程序而没有告诉它完整路径时,系统除了在当前目录下寻找,还会到 Path 中指定的路径里去找。
在 Windows 上设置 Qt 的环境变量,就是为了能够在命令行或其他应用程序中直接访问 Qt 相关的命令和工具。
总结
本文是 Qt 系列的开篇,主要讲了两部分内容:
Qt 概述:Qt 是一个跨平台的 C++ 图形用户界面框架,完全面向对象、支持组件化拖拽开发;它从 1991 年发展至今,支持 Windows、Linux、macOS、Android 和嵌入式等几乎所有平台;分为商业许可和开源许可,Qt 5 与 Qt 6 核心功能差别不大、企业中仍大量使用 Qt 5;KDE、WPS、Skype、Google Earth、VLC、VirtualBox 都是 Qt 的典型案例;在物联网、车载、自动驾驶、游戏等领域需求旺盛,薪资也比较可观;
环境搭建:常用工具有 Qt Creator、Visual Studio、Eclipse,本系列使用 Qt Creator;从官网或清华镜像下载 Qt 5.14.2 安装包,安装时注意先断网、路径不能有中文、勾选 MinGW 64-bit 编译模块;安装完成后通过运行官方示例验证环境;最后把 Qt 的
bin目录配置到 Path 环境变量中。
环境搭好之后,下一篇我们就正式开始写第一个 Qt 程序。
如果对你有帮助,欢迎点赞收藏关注~有问题欢迎在评论区交流👏