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

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在游戏行业的发展将会越来越多。

相关文章:

  • 如何系统学习音视频
  • pytorch 一些常用语法
  • Weiss Robotics的WPG与WSG系列紧凑型机器人夹爪,精准、灵活、高效
  • Springboot2.X 读取多层嵌套的配置结构
  • AtCoder Beginner Contest 403(题解ABCDEF)
  • 【计算机网络】面试常考——GET 和 POST 的区别
  • 洛谷P2142高精度减法题解
  • 浅析localhost、127.0.0.1 和 0.0.0.0的区别
  • 在spark里通过jps命令,看到的进程
  • 如何防止丝杆支撑座锈蚀?
  • XSS靶场实战(工作wuwuwu)
  • Python 重构“策略”模式:用函数简化设计模式的实践
  • 【图片识别改名】批量读取图片区域文字识别后批量改名,基于Python和腾讯云的实现方案
  • 1.5 点云数据获取方式——双目立体相机
  • Uniapp:设置页面下拉刷新
  • 服务器远程超出最大连接数的解决方案是什么?
  • 基于C++的IOT网关和平台1:github项目ctGateway
  • 基于DrissionPage的实习信息爬虫改造与解析
  • nginx配置集群服务器中的tcp负载均衡器
  • 中国飞机迎来历史性窗口,航空装备研制不断突破,智能化升级成为核心驱动力
  • 万科:一季度营收近380亿元,销售回款率超100%
  • 豆神教育:2024年净利润1.37亿元,同比增长334%
  • 病人有头发,照护者不发疯:《黑镜》中的身体缺席与虚伪关怀
  • 柳州警方通报临牌车撞倒行人:扣留涉事车辆,行人无生命危险
  • BNEF:亚洲、中东和非洲是电力基础设施投资的最大机会所在
  • 知名计算机专家、浙江大学教授张森逝世