【Qt Creator】跨平台的C++图形用户界面应用程序开发框架---QT

news2024/12/25 9:03:29
🍁你好,我是 RO-BERRY
📗 致力于C、C++、数据结构、TCP/IP、数据库等等一系列知识
🎄感谢你的陪伴与支持 ,故事既有了开头,就要画上一个完美的句号,让我们一起加油

目录

  • 1.互联网的核心岗位以及职责
  • 2. QT
  • 3.QT背景介绍
    • 3.1 什么是 Qt
    • 3.2 Qt的发展史
    • 3.3 Qt支持的平台
  • 4.Qt 版本
  • 5.Qt的优点
  • 6 Qt的应用场景
  • 7.QT的成功案例
    • Linux 桌面环境 KDE
    • WPS Office 办公软件
    • Google Earth 谷歌地图
  • 8.Qt的发展前景及就业分析
    • 行业发展方向
    • 就业方面的发展前景:


1.互联网的核心岗位以及职责

互联网的核心岗位主要分为

  1. 开发岗

互联网开发岗是指负责开发互联网产品的工程师。他们需要掌握多种技能,包括前端、后端、数据库等。

主要分为

  • 后端开发
  • 前端开发
  • 算法工程师
  • 游戏开发
  • 等等…

这里面,前端开发又分为

  • 网页前端开发(做网页的)
  • 桌面应用开发(做电脑上的应用程序)
  • 移动应用开发
  1. 测试岗

互联网测试岗是互联网公司中非常重要的一个岗位,主要职责是负责软件测试、功能测试、性能测试、安全测试、自动化测试等相关工作。主要工作内容包括:

  • 编写测试计划和测试用例,根据需求和设计文档编写测试用例。

  • 执行测试,按照测试用例进行测试,并记录测试结果和问题,报告缺陷。

  • 编写测试报告,对测试结果进行分析和总结,并提交给项目负责人和相关开发人员。

  • 参与产品的需求评审、设计评审等工作,为产品的质量提供保障。

  • 熟悉自动化测试工具,能够开发自动化测试脚本,提高测试效率。

  1. 运维岗(管理机器)

互联网运维岗位是指负责维护和管理互联网系统、网络和应用程序的技术人员。他们的主要职责包括确保系统和网络的高可用性、安全性和性能,并及时解决出现的故障和问题。常见的互联网运维工作包括服务器管理、网络管理、数据库管理、应用程序部署和监控、性能调优、安全管理等。互联网运维工程师需要熟练掌握多种技术,如Linux操作系统、网络协议、数据库管理、自动化运维工具、云计算等,并且需要具备快速响应、高效沟通和团队协作的能力。

  1. 产业经理(非技术岗,目的是提出需求)

互联网产品经理是负责互联网产品的规划、设计、推广、运营等工作的专业人员。他们需要通过市场调研、用户需求分析、竞品分析等方式,制定产品策略、产品规划和设计方案,协调各个部门的工作,确保产品按时上线,并通过数据分析、用户反馈等方式持续优化产品。同时,互联网产品经理还需要有敏锐的市场洞察力、较高的沟通协调能力和团队协作能力。


2. QT

QT这个技术主要用于客户端开发,为前端开发的一种,准确的来说QT特指用来进行桌面应用开发(电脑上写的程序)所涉及到的一套技术。

  • 客户端:直接和用户打交道的这一端程序
    比如:chrome、QQ音乐、steam…

客户端是指在客户端-服务器模型中,运行在用户计算机上的软件程序,用于向服务器请求服务并接收响应。通俗地说,客户端就是一个用户使用的软件界面,可以通过它来与服务器进行交互。客户端可以是各种各样的应用程序,比如网页浏览器、即时通讯软件、FTP客户端、邮件客户端等等。
需要注意的是,客户端通常需要遵守一定的协议和规范,以便与服务器进行通信和数据交换。常见的客户端协议包括HTTP、FTP、SMTP、POP3等。

  • 服务器:站在客户端背后的男人

服务器是一种计算机硬件设备,可以提供各种服务,如存储数据、运行应用程序、管理网络等。它通常被用作为网络上的中心化存储设备,以提供可靠和高效的数据存储和处理。服务器通常安装了各种不同的软件和应用程序,以满足特定的需求。例如,Web服务器可以用于托管网站和应用程序,邮件服务器可以用于管理电子邮件等。
另外,服务器也可以分为物理服务器和虚拟服务器。物理服务器是指实际的硬件设备,而虚拟服务器是指在同一台物理服务器上运行的多个虚拟服务器实例。虚拟服务器通常使用虚拟化技术来实现,这种技术可以将一台物理服务器划分为多个虚拟机,每个虚拟机都可以独立运行操作系统和应用程序。

虽然大部分的客户端程序,是需要有背后的服务器做支撑的。
但是确实也有些程序,是不需要服务器的.这样的程序(比如画图板,计算器…)同样也是直接和客户打交道,也可以称为“客户端程序"

QT无法开发网页前端,也无法开发移动应用
目前QT官方也支持移动应用的开发了,但是目前还没有听说有啥知名的商用移动应用程序是QT开发的


3.QT背景介绍

3.1 什么是 Qt

Qt是一个跨平台的C++图形用户界面应用程序框架。它为应用程序开发者提供了建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩展。Qt为开发者提供了一种基于组件的开发模式,开发者可以通过简单的拖拽和组合来实现复杂的应用程序,同时也可以使用C++语言进行高级开发。

在这里插入图片描述

图形用户界面:指采用图形方式显示的计算机操作用户界面,是计算机与其使用者之间的对话接口,是计算机系统的重要组成部分。

3.2 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等各平台的全面支持。

3.3 Qt支持的平台

  • Windows-XP、Vista、Win7、Win8、Win2008、Win10
  • Unix/X11-Linux、Sun Solaris、HP-UX、Compaq Tru64UNIX、IBMAIX、SGIIRIX、FreeBSD、BSD/OS、和其他很多X11平台
  • Macintosh -Mac Os x
  • Embedded–有帧缓冲支持的嵌入式Linux平台,Windows CEAndroid
  • Android

4.Qt 版本

目前最新的版本是Qt 6。
但是相对来说Qt 6和Qt 5之间的核心功能区别不大.并且企业中也仍然有大量的项目在使用Qt 5。
因此咱们仍然使用Qt 5版本来进行介绍。

另外Qt在发布的时候还提供了两种许可证。

  • 商业许可:开发者以商业目的使用Qt框架进行开发和发布软件的许可,开发者需要购买商业许可并按照相关规定使用Qt框架。商业许可提供了更多的功能和服务,适合于商业软件开发。
  • 开源许可:开发者以非商业目的使用Qt框架进行开发和发布软件的许可,开发者可以免费使用Qt框架,但需要遵守开源许可协议的要求,如在软件中包含Qt许可协议的声明等。

5.Qt的优点

  • 跨平台,几乎支持所有的平台;
  • 接口简单,容易上手,学习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的重要性也逐渐体现出来,下面从行业发展方向、就业方面的发展前景以及就业薪资分析Qt的发展前景。

行业发展方向

  • 物联网(loT)和嵌入式系统的发展:

在当下的嵌入式和物联网行业中,Qt的作用逐渐得到了体现,因为可以用它来开发具有GUI界面的嵌入式应用程序,这对于智能家居、汽车以及医疗设备等领域来说,具有非常重要的作用。

  • 自动驾驶和智能交通领域:

现在很多的汽车都引入了自动驾驶的技术,而Qt在其中也有着广泛的应用,它可以开发车载嵌入式系统和用巨界面程序。随着未来自动驾驶技术的发展,Qt在这方面的需求也会不断地增多。

  • 游戏开发:

Qt有一些非常重要的功能模块,例如Qt 3D Studio,可以应用于游戏开发。未来游戏行业的持续发展,Qt在游戏行业的发展将会越来越多。

就业方面的发展前景:

广泛的就业机会:

Qt在各个行业的应用逐渐广泛起来,对于掌握Qt开发能力的人员需求也在不断增加,因此在就业方面,相对比于其他行业来说,Qt 就业面更广,选择性更多。

高薪水和职业发展机会:

Qt作为一项专业技能,掌握此项技术的开发者获得的薪资报酬也是非常可观的,具有更多的职业发展机会。总之就是,如果掌握了Qt开发技术,未来的发展前景还是非常不错的。

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

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

相关文章

一个基于预训练的DenseNet121模型的人脸年龄分类系统

这篇文章采用预训练的DenseNet121模型并使用自定义的数据集类和自定义的类似正态分布的标签平滑策略来训练了一个人脸年龄分类模型,最后基于这个模型用tk实现了一个娱乐向的小系统。 数据集展示: 两个文件夹,分别是训练集和测试集&#xff0…

空压机的热回收原理介绍

空压机运行时会产生大量的压缩热,通常这部分能量通过机组的风冷或水冷系统释放到大气当中。压缩机的热回收是持续降低空气系统损耗,提高客户生产力的必要手段。 余热回收的节能技术目前研究很多,但大多只针对喷油螺杆式空压机的油路改造而言…

【Linux】使用pip3安装pexpect,解决报错:the ssl module in Python is not available

pip3是python3的包管理工具,安装、卸载、更新等管理python包。 pexpect是其中一个python库,用于自动化与终端交互。 centos7使用pip3安装pexpect,报错: pip3 install pexpect 原因:使用python3解释器导入ssl库检查ss…

【网络协议】划重点啦!TCP与UDP的重点面试题!!!

1. 为什么建立TCP连接是三次握手,而关闭连接却是四次挥手呢? 这是因为服务端的 LISTEN 状态下的 SOCKET 当收到 SYN 报文的建连请求后,它可以把 ACK和 SYN(ACK 起应答作用, 而 SYN 起同步作用) 放在一个报文…

建立FTP服务器

文章目录 建立FTP服务器1. 使用VMware安装CentOS 7虚拟机。2. 安装完虚拟机后,进入虚拟机,修改网络配置(onboot改为yes)并重启网络服务,查看相应IP地址,并使用远程连接软件进行连接。3.配置yum源&#xff0…

图形学概述

图形学应用 游戏 游戏的画面好坏如何鉴定呢? 看游戏画面是否够亮:渲染中全局光照的好坏 《只狼》 为什么卡通游戏画面看起来是卡通的呢? 《无主之地3》 这些都是图形学需要着手解决的问题 电影 电影《黑客帝国》的特效也是通过计算机…

AI大模型探索之路-实战篇9:探究Agent智能数据分析平台的架构与功能

系列篇章💥 AI大模型探索之路-实战篇4:深入DB-GPT数据应用开发框架调研 AI大模型探索之路-实战篇5:探索Open Interpreter开放代码解释器调研 AI大模型探索之路-实战篇6:掌握Function Calling的详细流程 AI大模型探索之路-实战篇7…

OWASP top10--SQL注入(三、手工注入)

目录 access数据库 手工注入过程: 猜解数据库表名 猜解数据库表名里面的字段 猜解字段内容 SQL注入中的高级查询 mssql数据库 手工注入过程: sa权限 ​编辑dbowner权限 public权限 mysql数据库 1、对服务器文件进行读写操作(前提条件) 需要知…

二叉树顺序结构的实现(堆)

二叉树的基本概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 有一个特殊的结点,称为根结…

浙江大学数据结构MOOC-课后习题-第九讲-排序1 排序

题目汇总 浙江大学数据结构MOOC-课后习题-拼题A-代码分享-2024 题目描述 文章目录 冒泡排序插入排序希尔排序堆排序归并排序 冒泡排序 void buble_Sort() { int A[MAXSIZE];int N;std::cin >> N;for (int i 0; i < N; i)std::cin >> A[i];bool flag false;i…

滑动窗口-java

主要通过单调队列来解决滑动窗口问题&#xff0c;得到滑动窗口中元素的最大值和最小值。 目录 前言 一、滑动窗口 二、算法思路 1.滑动窗口 2.算法思路 3.代码详解 三、代码如下 1.代码如下 2.读入数据 3.代码运行结果 总结 前言 主要通过单调队列来解决滑动窗口问题&#xff…

(免费领源码)java#SSM#mysql第三方物流系统37852-计算机毕业设计项目选题推荐

摘 要 科技进步的飞速发展引起人们日常生活的巨大变化&#xff0c;电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流&#xff0c;人类发展的历史正进入一个新时代。在现实运用中&#xff0c;应用软件的工作…

EasyCode生成的SQL语句中无逗号分隔

EasyCode生成的SQL语句中无逗号分隔 EasyCode是一款非常好用的插件&#xff0c;可以帮助我们生成相关的一些代码&#xff0c;但是在生成SQL对应的xml文件之后&#xff0c;发现语句中多个字段之间没有逗号分隔&#xff0c;而是直接连在了一起。接下来&#xff0c;让我们一起去解…

Kubernetes——Kubectl详解

目录 前言 一、陈述式资源管理方法 二、Kubectl命令操作 1.查 1.1kubectl version——查看版本信息 1.2kubectl api-resources——查看资源对象简写 1.3kubectl cluster-info——查看集群信息 1.4配置Kubectl补全 1.5journalctl -u kubelet -f——查看日志 1.6kubec…

C-数据结构-树状存储基本概念

‘’’ 树状存储基本概念 深度&#xff08;层数&#xff09; 度&#xff08;子树个数&#xff09; 叶子 孩子 兄弟 堂兄弟 二叉树&#xff1a; 满二叉树&#xff1a; 完全二叉树&#xff1a; 存储&#xff1a;顺序&#xff0c;链式 树的遍历&#xff1a;按层遍历&#xff0…

Qt for android 串口库使用

简介 由于Qt for android并没有提供android的串口执行方案&#xff0c;基于需要又懒得自己去造轮子&#xff0c; 使用开源的 usb-serial-for-android 库进行串口访问读写。 如果有自己的需要和库不满足的点&#xff0c;可以查看库的底层调用的Android相关API C/C 串口库 对应…

驱动开发:内核MDL读写进程内存

100编程书屋_孔夫子旧书网 MDL内存读写是最常用的一种读写模式,通常需要附加到指定进程空间内然后调用内存拷贝得到对端内存中的数据,在调用结束后再将其空间释放掉,通过这种方式实现内存读写操作,此种模式的读写操作也是最推荐使用的相比于CR3切换来说,此方式更稳定并不会…

Kruskal算法求最小生成树(加边法)

一、算法逻辑 想要轻松形象理解Kruskal算法的算法逻辑&#xff0c;视频肯定比图文好。 小编看过很多求相关的教学视频&#xff0c;这里选出一个我认为最好理解的这一款安利给大家。 因为他不仅讲解细致&#xff0c;而且还配合了动画演示&#xff0c;可以说把一个抽象的东西讲…

【软件设计师】网络安全

1.网络安全基础信息 网络安全的五个基本要素&#xff1a; 机密性&#xff1a;确保信息不暴露给未授权的实体或进程 完整性&#xff1a;只有得到允许的人才能修改数据&#xff0c;并且能判断出数据是否已被修改 可用性&#xff1a;得到授权的实体在需要时可以访问数据&#xff0…

Web安全:文件上传漏洞详解,文件上传漏洞原理、绕过方式和防御方案。

「作者简介」&#xff1a;2022年北京冬奥会网络安全中国代表队&#xff0c;CSDN Top100&#xff0c;就职奇安信多年&#xff0c;以实战工作为基础对安全知识体系进行总结与归纳&#xff0c;著作适用于快速入门的 《网络安全自学教程》&#xff0c;内容涵盖系统安全、信息收集等…