Qt背景与环境搭建

目录

​编辑

一、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.行业岗位介绍

互联网的核心岗位大致可以划分为以下几种:

  1. 开发(程序猿最关注)
  2. 测试
  3. 运维(管理机器)
  4. 产品经理(非技术岗,提出需求)

而在开发岗位中可以划分出以下岗位:

  1. 后端开发
  2. 前端开发
  3. 算法工程师
  4. 测试开发
  5. ......

这其中,前端开发又分三种:

  • 网页前端开发(做网页的)
  • 桌面应用开发(做电脑上的应用程序的)
  • 移动应用开发(做手机上的应用程序的)

        而我们今天要介绍的 Qt 这门技术,就是用于进行 “客户端开发” ,准确来说,Qt 特指用来进行桌面应用开发(电脑上写的程序)涉及到的一套技术。Qt 无法开发网页前端,也不能开发移动应用。

        客户端开发的主要任务是编写和用户交互的界面,这种界面有两种典型风格:

  1. 命令行界面/终端界面(TUI):专业软件(给程序猿用的)
  2. 图形化界面(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 在发布的时候还提供了两种许可证:

  1. 商业许可(花钱): 开发者以商业目的使用Qt框架进行开发和发布软件的许可,开发者需要购买商业许可并按照相关规定使用Qt框架。商业许可提供了更多的功能和服务(主要买的是技术支持),适合于商业软件开发。
  2. 开源许可(不用花钱,直接白嫖): 开发者以非商业目的使用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 环境变量配置

为啥要配置这个环境变量?

  1. 让操作系统/Qt Creator 工具,能够找到 Qt SDK 中提供的 exe。
  2. 为了运行 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 过程中主要使用的工具)。
  • 23
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南风与鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值