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

Qt入门——什么是Qt?

Qt背景介绍

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

图形用户界面:指采用图形方式显示的计算机用户操作界面,是计算机与其使用者之间的对话接口,是计算机系统的重要组成部分。比如你的手机/电脑上的界面,都是一种图形化的用户界面

而Qt就是用来开发图形化界面的一门技术,使用Qt进行图形化界面开发,它有两种开发方式:一种是在界面上拖拽组件(有点像画画的方式),一种是用C++代码编写 ,比如你想在界面上布置一个按钮,你可以通过将Qt已有的"按钮"组件,直接将“按钮”拖到界面上合适的位置进行放置,也可以使用C++语言编写代码时按钮放置在界面上

Qt主要用来干什么?

前面说了Qt可以用来开发图形化界面,那么它其实就属于前端技术中的一类,前端开发又分为(网页前端开发、桌面应用开发、移动应用开发),准确的说Qt特指桌面应用开发涉及的一套技术,它不能进行网页前端开发,也不能进行移动应用开发(目前Qt官网也支持移动应用开发了,但是目前没有听说过知名的商用移动应用是Qt开发的)

直接和用户打交道(供用户使用)的程序又叫做"客户端",所以用来开发用户图形化界面的Qt也是一种客户端开发技术

Qt的发展史:

1991年:Qt最早由奇趣科技开发

1996 年:进入商业领域,它也是目前流行的 Linux 桌面环境 KDE 的基础;

2008年:奇趣科技被诺基亚公司收购,Qt就成为诺基亚旗下的编程工具;

但是呢诺基亚的结局我们都知道,也就是凉凉了~

在2012年诺基亚宣布将Qt软件业务出售给芬兰IT服务公司Digia

在2013年7月3日,Digia公司Qt开发团队在其官方博客上宣布Qt 5.1正式版发布

2014 年 4 月跨平台的集成开发环境 Qt Creator3.1.0 发布,同年 5 月 20 日发布了 Qt 5.3 正式版,至此 Qt 实现了对 IOS、Android、Embedded 等各平台的全面支持

Qt支持的平台(几乎支持所有平台
  • Windows ‒ XP、Vista、Win7、Win8、Win2008、Win10
  • Unix/X11 ‒ Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX、FreeBSD、
  • BSD/OS、和其他很多 X11 平台
  • Macintosh ‒ Mac OS X
  • Embedded ‒ 有帧缓冲支持的嵌⼊式 Linux 平台,Windows CE
  • Android
Qt支持的系统

1)windows(各个版本)

2)Linux(各种发行版),尤其是Linux中的KDE桌面基于Qt构建的

3)Mac系统

4)嵌入式系统(嵌入式系统也是Qt实际开发中的一个主要战场,日常使用的一些家电或者一些工业设备内部也有计算机,是一种专用的计算机,也可以称为嵌入式系统,有些嵌入式系统也需要图形化界面,此时就可以使用Qt进行开发)

Qt的优点

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

Qt的行业发展方向:

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

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

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

游戏开发:

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

相关文章:

  • 【Linux】第十三章 访问Linux文件系统
  • React:封装一个编辑文章的组件
  • python如何流模式输出
  • Missashe考研日记-day30
  • JR6001语音模块详解(STM32)
  • 1.3 点云数据获取方式——ToF相机
  • Linux电源管理(3)_关机和重启的过程
  • 【今日三题】小红的ABC(找规律) / 不相邻取数(多状态dp) / 空调遥控(排序+二分/滑动窗口)
  • 面向人工智能、量子科技、人形机器人等产业,山东启动制造业创新中心培育认定
  • Android Studio 中实现方法和参数显示一行
  • Git 多账号切换及全局用户名设置不生效问,GIT进行上传无权限问题
  • 科研入门规划
  • computed计算值为什么还可以依赖另外一个computed计算值?
  • linux下ACL权限和掩码权限
  • Springboot2.X 读取多层嵌套的配置结构
  • 【东枫电子】AI-RAN:人工智能 - 无线接入网络
  • react-新建项目复用node_modules
  • 从摄像头到 RAW 数据:MJPEG 捕获与验证
  • 大屏软件设计的交互设计底层逻辑
  • TCP概念+模拟tcp服务器及客户端
  • React Navigation 使用指南
  • mongoose的介绍,连接数据库
  • linux安装ragflow
  • 4.29【Q】paraCompute
  • 深入分析OpenCV技术原理:计算机视觉的核心力量
  • JavaScript 中的类型转换机制?
  • ​MCP协议深度解析:原理、应用与物联网时代的机遇-优雅草卓伊凡
  • 5. 配置舵机ID(具身智能机器人套件)
  • 使用 np.zeros_like(label) 保存预测概率时发现数据类型不匹配导致的隐式类型转换
  • 新版权案件申请TRO,涵盖复古风吉他与头盔