当前位置: 首页 > news >正文

【Qt】背景介绍

【Qt】背景介绍

  • 行业介绍
  • 什么是客户端
  • GUI开发的各种技术方案
  • 什么是框架
  • Qt的发展历程
  • Qt支持的平台
  • Qt的版本后优点
  • Qt的发展前景

行业介绍

在我们的互联网中的核心岗位主要有以下几种

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

而我们这里主要关注的是开发方向
开发岗位又分很多方向:

  • 后端开发
  • 前端开发
    • 网页前端开发(做网页的)
    • 桌面应用开发(做电脑上的应用程序,Qt就是用来做桌面应用陈程序的,也叫客户端开发
    • 移动应用开发(做手机上的引用程序)
  • 算法工程师
  • 游戏开发
  • ……

什么是客户端

客户端的介绍

所谓客户端就是直接和用户打交道的一端从程序,就必然chrome,cctalk,……。
服务器:就是站在客户端背后的程序。

但是不是所有的应用程序都需要服务器做支撑的,比如画图板,计算器,也是直接和客户直接打交道,但是不需要后端服务的支撑,这些也叫做是客户端程序。

Qt其实准确来说是桌面应用开发(也就是写电脑上的程序的),Qt无法开发网页前端,也不能开发移动应用(但是目前的Qt官方也是支持移动应用开发了,但是目前并没有出现知名的商用移动应用程序使用Qt编写的)。

客户端的风格

客户端的任务就是编写和用户交互的界面,和用户交互的界面有两种风格:

  • 命令行界面/终端界面——TUI
  • 图形化界面——GUI

Qt就是用来桌面开发的GUI程序的一套框架。

GUI开发的各种技术方案

Windows编写GUI程序,也是有很多中方案解决的,Qt只是其中的一种方案。而windows主流的图形化界面开发有:
基于C/C++搭建的一些GUI开发技术体系:

  • Windows APIwindows系统提供的原生API(这个开发起来比较原生,也比较繁琐)
  • MFC:(上个世纪90年代诞生的)通过面向对象,对windows API进行封装。(但是目前已经不进行维护了)
  • Qt:(1991年左右诞生的)目前也是很有生命力的。

其他:

  • GTK,WxWidget……这些也是一些图形化界面开发的技术体系。
  • 有微软开发的变成语言C#(C sharp)Windows Forms(.net)量身定做的的一套GUI技术体系。
  • WPF,UWP这些可以说是windows Forms的一些升级版本。

开源社区

  • Electron:本质是基于HTML这样的网页,打包成一个windows上运行的客户端程序,这个最初是用来开发“atom”文本编辑器的,但是后期被微软的VSCode给替代了,但那时VSCode其实也是基于Electron的。但是有个比较大的缺点,就是有Electron开发出来的应用程序的效率低于以上的的开发技术体系。

而各种的GUI技术中Qt其实是比较主流的,而Qt的优势之一就是Qt支持跨平台,不经支持windows,也可以支持Linux,还支持Mac,这一点就是比较香的。而这一优点直接让Qt火爆了。所以当前的公司开发GUI技术,首选的基本上都是Qt的。

什么是框架

Qt是一个跨平台的C++图形用户界面应用程序框架。

所谓框架其实是一个“半成品”,帮助项目搭建“骨架”,并提供丰富的组件库,开发人员只需增加一些内容或调用一些提供好的组件就可以完成系统。而框架也是用来限制程序员的自由,因为在软件开发中谈到自由,灵活的其实是贬义词,因为这意味着越容易出错,所以为了减少出错率就有大佬为我们提前写好了框架。

框架和库其实优点相似的,都是由大佬提前写好的,让我们去使用的,但是本质上还是有区别的。库是被程序员调用的,主体是程序员,但是框架的主体是框架本身,是程序员配合框架完善,填充框架留下的一些细节。

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
  • Linux(各种发行版),尤其是 Linux 中的KDE 桌面基于Qt构建的。
  • Macintosh‒MacOSX
  • Embedded‒有帧缓冲⽀持的嵌⼊式Linux平台,Windows CE
  • Android

Qt的版本后优点

版本:
目前最新的版本是Qt6.但是相对来说Qt6Qt5之间的核心功能区别不大.并且企业中也仍然有大量的项目在使⽤Qt5.因此咱们仍然使⽤Qt5版本来进⾏介绍.另外Qt在发布的时候还提供了两种许可证.

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

优点:

  • 跨平台,几乎支持所有的平台;
  • 接⼝简单,容易上手,学习Qt框架对学习其他框架有参考意义。
  • ⼀定程度上简化了内存回收机制;
  • 开发效率高,能够快速的构建应⽤程序。
  • 有很好的社区氛围,市场份额在缓慢上升。
  • 可以进行嵌入式开发。

Qt的发展前景

Qt是一个强大且广泛应用于跨平台软件开发的框架。它提供丰富的工具和库,可用于开发高质量,高效率的图形用户界面(GUI)应用程序。并可以在windows,linux,MacOS等多种操作做系统上运行。

行业发展方向:

  • 物联网(IoT)和嵌入式系统的发展:
    在当下的嵌入式和物联网行业中,Qt的作用逐渐得到了体现,因为可以用它来开发具有GUI界⾯的嵌入式应用程序,这对于智能家居、汽车以及医疗设备等领域来说,具有非常重要的作用。
  • 自动驾驶和智能交通领域:
    现在很多的汽车都引入了自动驾驶的技术,而Qt在其中也有着⼴泛的应用,它可以开发车载嵌入式系统和用户界面程序。随着未来自动驾驶技术的发展,Qt在这方面的需求也会不断地增多。
  • 游戏开发:
    Qt有⼀些非常重要的功能模块,例如Qt 3D Studio,可以应用于游戏开发。未来游戏行业的持续发展,Qt在游戏行业的发展将会越来越多

http://www.mrgr.cn/news/35294.html

相关文章:

  • 嵌入式面试题练习 - 2024/11/15
  • Python 正则表达式的一些介绍和使用方法说明(数字、字母和数字、电子邮件地址、网址、电话号码(简单)、IPv4 )
  • Vue开发风格
  • 计算机低能儿从0刷leetcode | 36.有效的数独
  • 将单色像素值转换成灰阶屏的灰度序列的算法
  • 在C++上实现反射用法
  • 【代码笔记】
  • Java解决同构字符串问题
  • file zilla server安装以后,client连接,账号登录成功,但是读取目录失败的处理
  • 建筑工程系列专业职称评审条件大全
  • 误删系统引导如何恢复?如何创建系统引导?
  • C++: unordered系列关联式容器
  • MQ的简单梳理
  • 【动态规划】(五)动态规划——子序列问题
  • 前端报错401 【已解决】
  • 快速排序(plus)与单调栈道,力扣912.排序数组​​​​​​​力扣215.数组中的第k大个元素力扣17.14最小的k个数单调栈力扣.柱状图中最大的矩形
  • 美业门店怎么提升业绩?连锁美业门店管理系统收银系统拓客系统源码
  • 【5米光学卫星(资源一号02D/02E卫星)】
  • 鸿蒙OpenHarmony【小型系统内核(用户态启动)】子系统开发
  • 面试官:vue要做权限管理该怎么做?如果控制到按钮级别的权限怎么做?
  • 德蒂企鹅PAEDIPROTECT:德国医研力作,专为敏感肌婴幼儿量身打造
  • 面试面经|大模型算法岗常见面试题100道
  • P7557 [USACO21OPEN] Acowdemia S题解
  • 【软考】多核CPU
  • 2024年9月23日---关于MyBatis框架(2)
  • 最新版C/C++通过CLion2024进行Linux远程开发保姆级教学