本专栏内容为:QT学习专栏 通过本专栏的深入学习,你可以了解并掌握QT。
💓博主csdn个人主页:小小unicorn⏩专栏分类:QT
🚚代码仓库:小小unicorn的代码仓库🚚
🌹🌹🌹关注我带你学习编程知识
目录
QT背景介绍
行业岗位介绍
在正式介绍什么是QT之前,我们先了解一下目前的行业岗位
我们先列举一下互联网的核心岗位以及职责:
• 开发(程序员最关注的)
• 测试
• 运维(管理机器)
• 产品经理(非技术岗,提出需求)
对于咱们程序员来说,开发顾名思义是我们最关注的,而开发又可以分为一下几种:
• 后端开发
• 前端开发
• 算法工程师
• 游戏开发
• ...
而我们的前端开发呢又可以分为
a. 网页前端开发(做网页的)
b.桌面应用开发(做电脑上的应用程序的)
c. 移动应用开发(做手机上的应用程序的)
而咱们得QT技术,用于进行我们的客户端开发
什么是客户端
那么什么是客户端呢?
准确的说,QT特指用来进行桌面应用开发(电脑上写的程序)涉及的一套技术
客户端开发的重要任务为:
GUI开发的各种技术方案
那么Windows下还有哪些方案,可以开发GUI呢?
• windosAPI (windows系统提供原生的API,开发起来非常原始但也非常繁琐)
• MFC (上个世纪90年代影响力是非常深远的,VC6.0)
• QT(1991年左右就诞生了,和MFC不同,MFC早都不更新了,寄了,但是QT任然在不停的更新迭代,至今任然有生命力)
后来微软,自己又搞了个编程语言C#(C sharp)
•Windows Forms (给C#量身定做的一套开发GUI技术体系)
• WPF
• UWP
• Electron(本质上是把基于HTML这样的网页,打包成一个Windows上运行的客户端程序)
但是这个技术体系,最初是用来开发"atom"文本编辑器的,后来atom就寄了(被微软的VSCode取代了)
QT虽然只是上述解决方案的其中一个,但仍然属于是其中非常能打的(商业公司的产品,使用QT是非常多的,对应的就业岗位相比于其他的技术方案也是更多的)
而且Q还有个优势就是可以跨平台,不仅仅支持Windows,也支持Linux,还支持Max,属于是一个六边形战士了
什么是框架
Qt是⼀个跨平台的C++图形⽤⼾界⾯应⽤程序框架。
那么什么是框架呢?
编写C++代码,框架当然也是很重要的,
C++的生态,是割裂的离散的,不像Java,存在一些巨无霸社区,一统天下
C++不同的开源社区/大厂,各有各自的框架,各自为政
相比之下,像QT这种,能够被大家共同认可的框架,在整个C++生态中是不多见的。
什么是QT
Qt是⼀个跨平台的C++图形⽤⼾界⾯应⽤程序框架。它为应⽤程序开发者提供了建⽴艺术级图形
界⾯所需的所有功能。它是完全⾯向对象的,很容易扩展。Qt为开发者提供了⼀种基于组件的开发模
式,开发者可以通过简单的拖拽和组合来实现复杂的应⽤程序,同时也可以使⽤C++语⾔进⾏⾼级开
发
图形化界面:
指采⽤图形⽅式显⽰的计算机操作⽤⼾界⾯,是计算机与其使⽤者之间的对话接⼝,
是计算机系统的重要组成部分。如下分别是:Android⼿机图形⽤⼾界⾯和IOS⼿机图形⽤⼾界⾯。
例如:
QT的发展史
•1991年Qt最早由奇趣科技开发;
•1996年进⼊商业领域,它也是⽬前流⾏的Linux桌⾯环境KDE的基础;
•2008年奇趣科技被诺基亚公司收购,Qt成为诺基亚旗下的编程⼯具;
•2012年Qt⼜被Digia公司收购;
•2014年4⽉跨平台的集成开发环境QtCreator3.1.0发布,同年5⽉20⽇发布了Qt5.3正式版,⾄
此Qt实现了对IOS、Android、Embedded等各平台的全⾯⽀持。
QT支持的平台
• Windows‒XP、Vista、Win7、Win8、Win2008、Win10
• Unix/X11‒Linux、SunSolaris、HP-UX、CompaqTru64UNIX、IBMAIX、SGIIRIX、FreeBSD、
BSD/OS、和其他很多X11平台
• Macintosh‒MacOSX
• Embedded‒有帧缓冲⽀持的嵌⼊式Linux平台,WindowsCE
• Android
QT版本
⽬前最新的版本是Qt6.但是相对来说Qt6和Qt5之间的核⼼功能区别不⼤.并且企业中也仍然有⼤量
的项⽬在使⽤Qt5.
因此咱们仍然使⽤Qt5版本来进⾏介绍.
另外Qt在发布的时候还提供了两种许可证 .
• 商业许可:开发者以商业⽬的使⽤Qt框架进⾏开发和发布软件的许可,开发者需要购买商业许可并
按照相关规定使⽤Qt框架。商业许可提供了更多的功能和服务,适合于商业软件开发。
• 开源许可:开发者以⾮商业⽬的使⽤Qt框架进⾏开发和发布软件的许可,开发者可以免费使⽤Qt框
架,但需要遵守开源许可协议的要求,如在软件中包含Qt许可协议的声明等。
QT的优点
• 跨平台,⼏乎⽀持所有的平台;
• 接⼝简单,容易上⼿,学习QT框架对学习其他框架有参考意义。
• ⼀定程度上简化了内存回收机制;
• 开发效率⾼,能够快速的构建应⽤程序。
• 有很好的社区氛围,市场份额在缓慢上升。
• 可以进⾏嵌⼊式开发。
内存回收机制:
半自动的垃圾回收,能够简化内存释放,也能够尽可能小的影响程序的运行效率。
QT的应用场景
• 桌⾯应⽤程序
Qt能够创建各种类型的桌⾯应⽤程序,包括⽂件管理器、媒体播放器、绘图程序等。Qt应⽤程序⽀持
多种操作系统,可以运⾏在Windows、Linux、macOS等桌⾯操作系统上。
• 移动应⽤程序
Qt⽀持Android和IOS移动操作系统,为应⽤程序提供了强⼤的跨平台能⼒。可以使⽤Qt构建各种
移动应⽤程序,例如社交应⽤、游戏、娱乐等。
• 嵌⼊式系统
Qt在嵌⼊式领域应⽤⾮常⼴泛,它可以构建⾯向各种设备的图形应⽤程序,在机顶盒、⻋载娱乐系
统、安防监控设备等领域具有⼴泛的应⽤。
QT的成功案例
Linux桌⾯环境KDE
Skype⽹络电话。Skype是⼀款即时通讯软件,其具备IM所需的功能,⽐如视频聊天、多⼈语⾳会
议、多⼈聊天、传送⽂件、⽂字聊天等功能。它可以⾼清晰与其他⽤⼾语⾳对话,也可以拨打国内国
际电话,⽆论固定电话、⼿机均可直接拨打,并且可以实现呼叫转移、短信发送等功能。
在这里插入图片描述
Qt的发展前景及就业分析
Qt是⼀个强⼤且⼴泛应⽤于跨平台软件开发的框架。它提供了丰富的⼯具和库,可⽤于开发⾼质量、
⾼效率的图形⽤⼾界⾯(GUI)应⽤程序。并且可以在Windows、linux、macOS等多种操作系统上
运⾏。随着⾏业的发展,Qt的重要性也逐渐体现出来,下⾯从⾏业发展⽅向、就业⽅⾯的发展前景以
及就业薪资分析Qt的发展前景。
⾏业发展⽅向
• 物联⽹(IoT)和嵌⼊式系统的发展 :
在当下的嵌⼊式和物联⽹⾏业中,Qt的作⽤逐渐得到了体现,因为可以⽤它来开发具有GUI界⾯的嵌
⼊式应⽤程序,这对于智能家居、汽⻋以及医疗设备等领域来说,具有⾮常重要的作⽤。
• ⾃动驾驶和智能交通领域:
现在很多的汽⻋都引⼊了⾃动驾驶的技术,⽽Qt在其中也有着⼴泛的应⽤,它可以开发⻋载嵌⼊式系
统和⽤⼾界⾯程序。随着未来⾃动驾驶技术的发展,Qt在这⽅⾯的需求也会不断地增多。
• 游戏开发:
Qt有⼀些⾮常重要的功能模块,例如Qt3DStudio,可以应⽤于游戏开发。未来游戏⾏业的持续发
展,Qt在游戏⾏业的发展将会越来越多。
就业⽅⾯的发展前景:
⼴泛的就业机会:
Qt在各个⾏业的应⽤逐渐⼴泛起来,对于掌握Qt开发能⼒的⼈员需求也在不断增加,因此在就业⽅
⾯,相对⽐于其他⾏业来说,Qt就业⾯更⼴,选择性更多。
⾼薪⽔和职业发展机会:
Qt作为⼀项专业技能,掌握此项技术的开发者获得的薪资报酬也是⾮常可观的,具有更多的职业发展
机会。总之就是,如果掌握了Qt开发技术,未来的发展前景还是⾮常不错的。
• 就业薪资: