【QT】QT背景介绍

本专栏内容为:QT学习专栏 通过本专栏的深入学习,你可以了解并掌握QT。

💓博主csdn个人主页:小小unicorn
⏩专栏分类:QT
🚚代码仓库:小小unicorn的代码仓库🚚
🌹🌹🌹关注我带你学习编程知识

目录

  • QT背景介绍
    • 行业岗位介绍
    • 什么是客户端
    • GUI开发的各种技术方案
    • 什么是框架
    • 什么是QT
    • QT的发展史
    • QT支持的平台
    • QT版本
    • QT的优点
    • QT的应用场景
    • QT的成功案例
    • Qt的发展前景及就业分析

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开发技术,未来的发展前景还是⾮常不错的。

• 就业薪资:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/10821.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3D分子生成的定制扩散框架 MolDiff - 评测

MolDiff模型是一种考虑分子键生成的3D分子生成的新模型。MolDiff是清华大学智能产业研究院马剑竹课题组发表在PMLR 2023的工作,第一作者是Xingang Peng,文章题目为:《 Addressing the Atom-Bond Inconsistency Problem in 3D Molecule Genera…

【Android】Kotlin学习之数据容器 -- 集合

一. 定义 List : 是一个有序列表, 可通过下标访问元素. 元素可以在list中出现多次, 元素可重复 Set : 是元素唯一的集合, 一般来说Set中元素的顺序并不重要, 无序集合. Map : 是一组键值对, 键是唯一的, 每个键刚好映射到一个值, 值可以重复 二. 集合创建 三. 示例 mutabl…

OSTE-Web-Log-Analyzer:基于Python的Web服务器日志自动化分析工具

关于OSTE-Web-Log-Analyzer OSTE-Web-Log-Analyzer是一款功能强大的Web服务器日志自动化分析工具,该工具专为安全研究人员设计,能够使用Python Web日志分析工具(Python Web Log Analyzer)帮助广大研究人员以自动化的形式实现Web服…

推导 模型矩阵的逆转置矩阵求运动物体的法向量

一个物体表面的法向量如何随着物体的坐标变换而改变,取决于变换的类型。使用逆转置矩阵,可以安全地解决该问题,而无须陷入过度复杂的计算中。 法向量变化规律 平移变换不会改变法向量,因为平移不会改变物体的方向。 旋转变换会改…

栈和队列的相互实现

1. 两个队列实现栈. - 力扣(LeetCode) 队列的特点是先进先出,而栈的特点是后进先出(先进后出),也就是说重点在于利用两个队列来改变“出”的顺序。 假设我们在进行入栈操作的时候将数据依次入到一个队列中…

python如何单步调试

Python怎么单步调试?下面给大家介绍一下单步调试: 方法一:执行 python -m pdb myscript.py (Pdb) 会自己主动停在第一行。等待调试,这时你能够看看帮助。 方法二:在所调试程序的开头中:import pdb 并在你…

民航电子数据库:数据库的备份与恢复

目录 前言备份库级逻辑备份示例 恢复库级的逻辑恢复示例 前言 民航电子数据库的备份与恢复 备份 库级逻辑备份 备份目标库下所有的对象 。 因此 ,库级逻辑备份需要由备份库的管理员(SYSDBA)登录至备份目标库进行操作。 语法格式 &#xff1…

商家转账到零钱怎么开通?一步步教你玩转微信营销新利器

在数字化营销日新月异的今天,微信支付凭借其便捷、安全的特点,成为了商家不可或缺的支付工具。而其中的“商家转账到零钱”功能,更是为商家提供了一个全新的营销利器。今天,我们就来详细解读一下如何开通这一功能(我处…

怎么制作流程图?介绍制作方法

怎么制作流程图?在日常生活和工作中,流程图已经成为我们不可或缺的工具。无论是项目规划、流程优化,还是学习理解复杂系统,流程图都能帮助我们更直观地理解和表达信息。然而,很多人可能并不清楚,其实制作流…

通过 Java 操作 redis -- zset 有序集合基本命令

目录 使用命令 zadd,zrange 使用命令 zcard 使用命令 zrem 使用命令 zscore 使用命令 zrank 关于 redis zset 有序集合类型的相关命令推荐看Redis - Zset 有序集合 要想通过 Java 操作 redis,首先要连接上 redis 服务器,推荐看通过 Jav…

探索智慧推理:线上剧本杀小程序引领新潮流

随着科技的飞速发展,线上剧本杀小程序作为一种新兴的数字娱乐形式,正以其独特的魅力引领着新潮流,并在内容创造上展现出无限的潜力。这种融合了角色扮演、推理解谜和社交互动的游戏模式,不仅为用户带来了沉浸式的体验,…

物流单打印机怎么调格式距离,佳易王物流托运单管理系统软件打印单据左边距调节教程

物流单打印机怎么调格式距离,佳易王物流托运单管理系统软件打印单据左边距调节教程 一、前言 以下软件操作教程以,佳易王物流单打印管理软件为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 1、佳易王物流单管理系统打印…

Whistle Web Debugging Proxy介绍及使用

大家好,今天继续给大家分享一款抓包工具,这款抓包工具是网页的形式,方便多人访问同时维护。Whistle Web Debugging Proxy是一个用于HTTP、HTTPS、WebSocket等网络协议的跨平台调试工具。它可以帮助开发者对网络请求进行捕捉、分析、修改和重定…

【OpenGL的数学01】从窗口空间计算视空间

文章目录 一、说明二、定义三、来自gl_FragCoord四、来自gl_FragCoord的XYZ4.1 从窗口到ndc4.2 从NDC到剪辑4.3 从剪辑到眼睛4.4 GLSL示例 五、从gl_FragCoord的XYZ优化方法 一、说明 本文将解释如何在给定窗口空间顶点位置的情况下重新计算眼空间顶点位置。以及相反的计算。其…

【Obsidian】视频笔记插件Media Extended的强大功能

我将开设一个专栏,介绍当下最好用的笔记软件Obsidian的使用经验和技巧。欢迎持续关注。 摘要:本文将首先向您介绍一款功能强大的笔记软件Obsidian,然后为您详细解析Obsidian的一款实用插件——Media Extended,帮助您更好地利用Obs…

如何在Mac 电脑上安装 Homebrew

1、打开终端应用程序 在终端中输入以下命令并回车: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 这个命令会自动下载并运行 Homebrew 的安装脚本。 系统可能会提示您输入管理员密码,请输入您的 Mac 登录…

易图讯科技三维电子沙盘系统

深圳易图讯科技有限公司(www.3dgis.top)创立于2013年,专注二三维地理信息、三维电子沙盘、电子地图、虚拟现实、大数据、物联网和人工智能技术研发,获得20多项软件著作权和软件检测报告,成功交付并实施了1000多个项目&…

十、Redis内存回收策略和机制

1、Redis的内存回收 在Redis中可以设置key的过期时间,以期可以让Redis回收内存,循环使用。在Redis中有4个命令可以设置Key的过期时间。分别为 expire、pexpire、expireat、pexpireat。 1.1、expire expire key ttl:将key的过期时间设置为tt…

QTreeView学习 branch 虚线设置

1、方法一&#xff1a; #include <QStyleFactory> ui.treeView->setStyle(QStyleFactory::create("windows")); 2、方法二&#xff1a; QString strtyle2 R"( QTreeView::branch:has-siblings:!adjoins-item { border-image: url(:/TreeViewDe…

【计算机毕业设计】用于日语词汇学习的微信小程SSM

日语词汇学习小程序是高校人才培养计划的重要 组成部分&#xff0c;是实现人才培养目标、培养学生科研能力与创新思维、检验学生综合素质与实践能力的重要手段与综合性实践教学环节。本学生所在学院多采用半手工管理日语词汇学习小程序的方式&#xff0c;所以有必要开发日语词汇…