目录
编辑
一、Qt背景
1.行业岗位介绍
2.什么是Qt
3.Qt的发展史
4.Qt支持的平台
5.Qt的版本和优点
5.1 版本
5.2 优点
6.Qt的应用场景
7.Qt 的成功案例
8.Qt 发展前景
二、环境搭建
1.Qt 的开发工具概述
2.Qt SDK 的下载和安装
2.1 Qt SDK 的下载
编辑
2.2 Qt SDK 的安装
3.验证 Qt SDK 安装是否成功
4.Qt 环境变量配置
5.Qt SDK 中的重要工具
1. Assistant 5.14.2(MinGW 7.3.0 64-bit)
2.Designer 5.14.2(MinGW 7.3.0 64-bit)
3.Linguist 5.14.2(MinGW 7.3.0 64-bit)
4.Qt Creator 4.11.1(Community)
一、Qt背景
1.行业岗位介绍
互联网的核心岗位大致可以划分为以下几种:
- 开发(程序猿最关注)
- 测试
- 运维(管理机器)
- 产品经理(非技术岗,提出需求)
而在开发岗位中可以划分出以下岗位:
- 后端开发
- 前端开发
- 算法工程师
- 测试开发
- ......
这其中,前端开发又分三种:
- 网页前端开发(做网页的)
- 桌面应用开发(做电脑上的应用程序的)
- 移动应用开发(做手机上的应用程序的)
而我们今天要介绍的 Qt 这门技术,就是用于进行 “客户端开发” ,准确来说,Qt 特指用来进行桌面应用开发(电脑上写的程序)涉及到的一套技术。Qt 无法开发网页前端,也不能开发移动应用。
客户端开发的主要任务是编写和用户交互的界面,这种界面有两种典型风格:
- 命令行界面/终端界面(TUI):专业软件(给程序猿用的)
- 图形化界面(GUI):给普通用户使用的
Qt 就是用来编写桌面的GUI程序的一套框架~
PS:
- 客户端:直接和用户打交道的这一端的程序,比如:chrome、QQ音乐、steam等......
- 服务器:站在客户端背后的男人~
- 虽然大部分的客户端程序,是需要有背后的服务器做支撑的。但是确实也有些程序是不需要服务器的,这样的程序(比如:画图板、计算器...)同样也是直接和客户打交道,也可以称为 “客户端程序”。
2.什么是Qt
Qt 是一个跨平台的 C++ 图形用户界面应用程序框架 。它为应用程序开发者提供了建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩展。Qt 为开发者提供了⼀种基于组件的开发模式,开发者可以通过简单的拖拽和组合来实现复杂的应用程序,同时也可以使用 C++ 语言进行高级开发。
图形用户界面 :指采用图形方式显示的计算机操作用户界面,是计算机与其使用者之间的对话接口,是计算机系统的重要组成部分。如下分别是:Android 手机图形用户界面 和 IOS 手机图形用户界面。
Android 手机图形用户界面
IOS 手机图形用户界面
3.Qt的发展史
- 1991 年 Qt 最早由奇趣科技开发;
- 1996 年 进入商业领域,它也是目前流行的 Linux 桌面环境 KDE 的基础;
- 2008 年 奇趣科技被诺基亚公司收购,Qt 成为诺基亚旗下的编程工具;
- 2012 年 Qt 又被 Digia 公司收购;
- 2014 年 4 月 跨平台的集成开发环境 Qt Creator3.1.0 发布,同年 5 月 20 日发布了 Qt 5.3 正式版,至此 Qt 实现了对 IOS、Android、Embedded 等各平台的全面支持。
1991年,可以说是非常神奇的一年,在这一年,计算机界诞生了很多神奇的东西,比如:Qt、Python、OpenGL、Linux......
这其中,有个公司特别出名,那就是诺基亚,诺基亚手机在那个年代应该是家喻户晓,传说它可以砸核桃、挡子弹~。而它当时所用的系统为 塞班系统(应该是最早的智能手机系统了),诺基亚就主推 Qt 来作为开发塞班系统应用程序的解决方案。
2007年,乔布斯发布了第一代苹果手机,标志着移动互联网时代的开启,2012年左右,IPhone4成为一代经典,小米和华为也进入了智能手机市场,安卓系统开始大规模崛起~,此时,诺基亚被逼无奈,开始了最后的反扑,和微软强强联合,推出了一代新的智能手机,史称 windows phone 撸没系列,果然,发布没多久就把自己给撸没了~~
诺基亚噶了之后,Qt 又卖给了另一个公司 迪迦(Digia),至于这个公司是不是研究奥特曼的,咋也不知道,反正网上关于这个公司的消息非常少。
4.Qt支持的平台
1、windows(各个版本):Windows ‒ XP、Vista、Win7、Win8、Win2008、Win10
2、Linux(各种发行版,尤其是 Linux 中的 KDE 桌面是基于Qt 构建的):Unix/X11 ‒ Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX、FreeBSD、BSD/OS、和其他很多 X11 平台
- Linux 主要是给服务器使用,服务器不需要图形界面。
- TUI:基于命令操作,门槛更高,效率也更高。
- GUI:基于图形化操作,门槛低,效率也低。
- Linux 种,也存在好几套桌面环境:1.GONME(基于 GTK 构建的)2.KDE(基于 Qt 构建的)
3、Max系统:Macintosh ‒ Mac OS X
4、嵌入式系统:Embedded ‒ 有帧缓冲支持的嵌入式 Linux 平台,Windows CE
- 嵌入式系统也是 Qt 实际开发中的一个主战场,我们日常使用的冰箱、洗衣机、路由器、投影仪...这些设备内部也有计算机,但它们里边的计算机硬件配置就不需要很高了(低配置、低成本)。
- 当然,有些嵌入式系统也是需要运行图形化界面的程序的,这个时候, Qt 就可以起到作用了,尤其是在一些工业设备上,当然,在这个领域,Qt 也受到了安卓的挑战。
5、Android
5.Qt的版本和优点
5.1 版本
目前最新的版本是 Qt 6, 但是相对来说 Qt 6 和 Qt 5 之间的核心功能区别不大,并且企业中也仍然有大量的项目在使用 Qt 5。
在软件开发中,并非是越新就越好,相比之下,引入新的特性,不如先确保不引入严重的问题~
另外 Qt 在发布的时候还提供了两种许可证:
- 商业许可(花钱): 开发者以商业目的使用Qt框架进行开发和发布软件的许可,开发者需要购买商业许可并按照相关规定使用Qt框架。商业许可提供了更多的功能和服务(主要买的是技术支持),适合于商业软件开发。
- 开源许可(不用花钱,直接白嫖): 开发者以非商业目的使用Qt框架进行开发和发布软件的许可,开发者可以免费使用Qt框架,但需要遵守开源许可协议的要求,如在软件中包含Qt许可协议的声明等。
5.2 优点
- 跨平台,几乎支持所有的平台;
- 接口简单,容易上手,学习 QT 框架对学习其他框架有参考意义。
- 一定程度上简化了内存回收机制;
- 开发效率高,能够快速的构建应用程序。
- 有很好的社区氛围,市场份额在缓慢上升。
- 可以进行嵌入式开发。
6.Qt的应用场景
- 桌面应用程序
Qt 能够创建各种类型的桌面应用程序,包括文件管理器、媒体播放器、绘图程序等。Qt 应用程序支持多种操作系统,可以运行在 Windows、Linux、macOS 等桌面操作系统上。
- 移动应用程序
Qt 支持 Android 和 IOS 移动操作系统,为应用程序提供了强大跨平台能力。可以使用 Qt 构建各种移动应用程序,例如社交应用、游戏、娱乐等。
- 嵌入式系统
Qt 在嵌入式领域应用非常广泛,它可以构建面向各种设备的图形应用程序,在机顶盒、车载娱乐系统、安防监控设备等领域具有广泛的应用。
7.Qt 的成功案例
Linux 桌面环境 KDE
WPS Office 办公软件
Google Earth ⾕歌地图
8.Qt 发展前景
Qt 是⼀个强大且广泛应用于跨平台软件开发的框架。它提供了丰富的工具和库,可用于开发高质量、高效率的图形用户界面(GUI)应用程序。并且可以在 Windows、linux、macOS 等多种操作系统上运行。随着行业的发展,Qt的重要性也逐渐体现出来:
- 物联网(IoT)和嵌入式系统的发展:
在当下的嵌入式和物联网行业中,Qt 的作用逐渐得到了体现,因为可以用它来开发具有 GUI 界面的嵌入式应用程序,这对于智能家居、汽车以及医疗设备等领域来说,具有非常重要的作用。
- 自动驾驶和智能交通领域:
现在很多的汽车都引入了自动驾驶的技术,而 Qt 在其中也有着广泛的应用,它可以开发车载嵌入式系统和用户界面程序。随着未来自动驾驶技术的发展,Qt 在这方面的需求也会不断地增多。
- 游戏开发:
Qt 有一些非常重要的功能模块,例如 Qt 3D Studio,可以应用于游戏开发。未来游戏行业的持续发展,Qt在游戏行业的发展将会越来越多。
二、环境搭建
1.Qt 的开发工具概述
Qt 开发环境,需要安装3个部分(说是安装3个部分,其实只需要安装一个 Qt SDK,另外两个也就都有了):
🌴C++ 编译器(gcc、cl.exe...... 不是Visual Studio)
- 注意:编译器 != IDE,编译器只是 IDE 调用的一个程序。
🌴Qt SDK
- SDK 即软件开发工具包。比如,windows 版本 Qt SDK 里边已经内置了 C++ 的编译器(内置编译器是 mingw,windows 版本的 gcc/g++)。
🌴Qt 的集成开发环境(IDE)
1.Qt 官方提供的 Qt Creator
Qt Creator 是一个轻量级的跨平台集成开发环境(IDE),专为使用 Qt 框架进行应用程序开发而设计。它是一个功能强大、易于使用、快速且高效的工具,被广泛用于编写各种类型的应用程序,如桌面应用程序、移动应用程序和嵌入式系统等。
Qt Creator 提供了一个可视化的界面设计器和代码编辑器,可以帮助开发者更快捷地创建复杂的用户界面和处理各种事件。它还包含了调试工具、版本控制工具、自动完成和智能提示等功能,以及支持多语言和跨平台的开发环境。
总而言之,Qt Creator 是一个功能齐全、易于使用且高效的跨平台 IDE,适用于各种类型的应用程序开发,特别是那些使用 Qt 框架的开发者。
Qt Creator 的主要特点包括:
- 紧密集成的 Qt 框架:Qt Creator 专门为 Qt 开发而设计,因此它与 Qt 框架集成得非常紧密,使开发者可以更容易地管理和部署他们的应用程序。
- 强大的编辑器:Qt Creator 具有一些先进的编辑器功能,如语法高亮、代码折叠、智能提示、自动完成和代码重构。
- 集成的调试器:Qt Creator 内置了调试器,允许开发人员在代码中设置断点以及检查变量、堆栈和调用树等信息。
- 高效的构建系统:Qt Creator 提供了一个高效的构建系统,可以自动构建和部署应用程序,同时支持使用不同的编译器和平台。
- 可视化界面设计器:Qt Creator 具有一个可视化界面设计器,它允许开发人员在没有编写代码的情况下创建复杂的用户界面。
- 多语言支持:Qt Creator 支持多种编程语言,包括 C++、QML、JavaScript 等。
2.Visual Studio
Visual Studio 是由微软公司开发的集成开发环境(IDE)。它可以用来开发多种类型的应用程序。包括Windows 桌面应用程序、Web应用程序、移动应用程序、游戏等。Visual Studio 提供了丰富的开发工具和功能,包括代码编辑器、调试器、自动完成、代码重构、版本控制等等。它支持多种编程语言,如:C++、C#、Visual Basic、F#、Python等。Visual Studio 还可以与其他开发工具和服务集成,如 Azure 云服务、GitHub、Jenkins等。
功能更强,但是需要额外的配置更多,更容易出错。有些公司开发商业 Qt 程序的时候,可能会使用 VS,需要给 VS 安装 Qt 插件,并且需要把 Qt SDK 使用 VS 的编译器重新编译(现在会方便一些,有预编译好的版本)。
Visual Studio 具有以下⼀些主要特点:
- 多语言支持:Visual Studio 支持多种编程语言,包括 C++、C#、Visual Basic、F#、Python、JavaScript 等;
- 丰富的工具集:VS 提供了各种开发工具,包括代码编辑器、调试器、代码分析工具等,以提高开发人员的效率;
- 可视化设计:VS提供了可视化的设计工具,如窗体设计器、WPF 设计器等,使开发人员可以直观地设计用户界面;
- 跨平台开发:VS 支持跨平台开发,可以开发适用于 Windows、Linux 和 macOS 等多个平台的应用程序;
- 集成的调试器:VS 集成了强大的调试器,可以进行代码的单步调试、断点调试等操作来帮助开发人员查找和修复错误;
- 丰富的扩展性:VS 可以通过安装扩展来扩展其功能,开发人员可以根据自己的需求选择并安装适合的扩展。
3.Eclipse
Eclipse 是著名的跨平台的自由集成开发环境(IDE)。最初主要用来 Java 语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如 C++ 和 Python 的开发⼯具。Eclipse 的本身只是⼀个框架平台,但是众多插件的支持使得 Eclipse 拥有其他功能相对固定的 IDE 软件很难具有的灵活性。许多软件开发商以 Eclipse 为框架开发自己的 IDE。Qt 框架可以与 Eclipse 集成,使开发者可以使用 Eclipse 的强大功能来开发 Qt 应用程序。
Eclipse 并非只是 Java IDE,本身是一个 IDE 平台,可以搭配不同的插件构成不同的 IDE,目前 Eclipse 市场份额受到的冲击很大。重量级工具有 JetBrains;轻量级工具有 VSCode。
2.Qt SDK 的下载和安装
2.1 Qt SDK 的下载
🌻Qt 下载官网:https://download.qt.io/archive/qt/
🌻国内清华源:https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/
进入官网,按照下图所示进行相应的系统版本下载即可。
1、打开官网链接,进入如下图示界面;
2、选择需要下载的版本(以5.14版本为例,所选具体版本为:5.14.2);
3、选择需要下载的版本;
4、选择Windows桌面应用程序;
2.2 Qt SDK 的安装
安装软件的时候,所在的目录,不要带中文,不要带特殊符号,也不要带空格!!!
安装软件的时候,所在的目录,不要带中文,不要带特殊符号,也不要带空格!!!
安装软件的时候,所在的目录,不要带中文,不要带特殊符号,也不要带空格!!!
1、找到下载的文件并双击;
注意:在双击之前先断网,否则需要我们注册 Qt 账号登录后才能进入下一步安装;
2、双击之后进入如下界面:
3、选择安装路径时不能出现中文路径,否则即使安装上也无法使用;
4、选择安装组件;这里我们安装的是 Qt Creator。如果电脑磁盘空间允许,建议全选以便后续使用,如果空间不允许,请看第5步;
5、选择部分组件;说明:其他未安装的组件在使用时可以另行添加;
6、同意安装协议;
7、下⼀步;
8、点击 "安装" 进入安装界面;
9、安装界面如下:
10、点击 "完成" 按钮完成安装;
3.验证 Qt SDK 安装是否成功
3.1、双击打开 Qt Creator 工具,并进入到 "欢迎模式" 下的 "示例" 界面;
3.2、在 "示例" 中任选其中一个,单击打开该示例。在单击之后会弹出⼀个窗口,关闭即可;
如果能构建并运行,说明安装无误。运行结果如下图:
4.Qt 环境变量配置
为啥要配置这个环境变量?
- 让操作系统/Qt Creator 工具,能够找到 Qt SDK 中提供的 exe。
- 为了运行 Qt 程序的时候,能够找到对应的 .dll 动态库。
环境变量,也可以理解成一种简单的 “进程间通信” 机制。它是在操作系统中⼀个具有特定名字的对象,包含了一个或者多个应用程序将要使用到的信息。
例如Windows 和 DOS 操作系统中的 path 环境变量,当要求系统运行⼀个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还会到 path 中指定的路径去找。
在 Windows 上设置 Qt 的环境变量是为了能够在命令行或其他应用程序中直接访问 Qt 相关的命令和工具。
4.1、找到Qt的安装路径,复制 "bin" 路径;
4.2、"此电脑" ------> 鼠标右键, "属性" ------> "高级系统设置" ------> "环境变量";
4.3、"新建" ------> 填入 "bin" 路径 ------> "确定" ;
4.4、注意:在关掉所有窗口时,一定要点击 "确定" ,否则上述配置无效。
5.Qt SDK 中的重要工具
5.1 Assistant 5.14.2(MinGW 7.3.0 64-bit)
- Qt自带的离线版本的官方文档。
5.2 Designer 5.14.2(MinGW 7.3.0 64-bit)
- Qt 设计师,图形化的设计界面的工具。
- 通过拖拽控件的方式来快速生成界面,搭配 Qt Creator 来使用。
5.3 Linguist 5.14.2(MinGW 7.3.0 64-bit)
- Qt 语言家,作用是对国际化进行支持。
- 它允许你单独创建一个语言配置文件,把界面上需要用到的各种文字,都配置到文件中,并且在文件中提前的把各种语言的翻译都配置进去,就可以起到 “一键式切换语言” 的效果。
5.4 Qt Creator 4.11.1(Community)
- Qt 的集成开发工具(学习 Qt 过程中主要使用的工具)。