【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,一经查实,立即删除!

相关文章

灰度图恢复(C++)

思路&#xff0c;数字出现的次数与要统计的行列向匹配&#xff0c;函数表达式为 sum row*mcol 1; 例如初始出现次数为255 2&#xff0c;即255出现2次&#xff0c;则{0&#xff0c;0}、{0&#xff0c;1}都为255 #include <iostream> #include <sstream> #include…

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

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

Rust中的链式调用方法

在Rust编程语言中&#xff0c;链式调用是一种流行的编程模式&#xff0c;它允许开发者以流畅、连续的方式调用多个方法。这种风格不仅提高了代码的可读性&#xff0c;而且使得复杂的操作可以串联在一起&#xff0c;形成一个清晰、简洁的语句。在Rust中&#xff0c;链式调用主要…

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

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

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

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

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

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

栈和队列的相互实现

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

python如何单步调试

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

多线程编程中的隐形杀手:volatile关键字

概述 C中std::mutex本身是一个非volatile类型的对象&#xff0c;但是它保护的共享资源可能需要被volatile修饰&#xff0c;以确保对该资源的修改在不同线程之间的可见性。这种情况通常发生在多线程访问共享数据时&#xff0c;这些数据可能被异步修改&#xff0c;且修改的发生时…

【Vue3笔记03】Vue3项目工程中使用vue-router路由

这篇文章,主要介绍Vue3项目工程中如何使用vue-router路由。 目录 一、vue-router路由 1.1、下载vue-router路由 1.2、创建router.js文件 1.3、main.js配置路由

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

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

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

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

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

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

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

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

出租车在线教育系统,教育机构有哪些岗位,他们的职责是什么?

教育机构成立初期并不需要多少部门多少员工&#xff0c;形成一定规模之后&#xff0c;就要设立以下部门市场部销售部、.教学部、客服部、行政人事部、教务部、客服部&#xff0c;接下来我们看看各部门都有哪些岗位。 一、市场部&#xff1a; A 、经理主管岗位职责 1. 管理深圳区…

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

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

iOS 沙盒图片的存取

简介&#xff1a; 图片的沙盒读存操作主要是增、删、查&#xff0c;一般不涉及改的操作&#xff0c;这里直接以代码演示 常用代码&#xff1a; 增 /*** 存储缩略图到沙盒中*/ (BOOL)saveImageToPath:(NSString *)imageFilePath image:(UIImage *)image{return [UIImageJPEG…

sqlite3报错:database is locked

问题描述&#xff1a; 使用visual studio2022创建动态库&#xff0c;动态库中包含向sqlite3数据库插入数据的函数&#xff0c;在测试函数时偶尔出现database is locked的错误提示。 思路&#xff1a; 1、最开始以为是代码写的有问题&#xff0c;可能对于某些资源没有释放&am…

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

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

Whistle Web Debugging Proxy介绍及使用

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