QT背景介绍

简介: QT背景介绍

一、QT背景

1.1什么是QT

QT是一个1991年由QT Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。QT是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,QT很容易扩展,并且允许真正的组件编程。

QT技术用于客户端开发

客户端:直接和用户打交道的这一类程序,如Chrome、Steam等等

客户端开发的重要任务:编写和用户交互的界面。

用户交互界面有两种典型风格

1、命令行界面/终端界面-->TUI(专业软件,一般使用者为程序员)

2、图形化界面-->GUI(普通用户)

然而QT是用来编写桌面的GUI程序的一套框架

1.2QT的发展历史

  • 1991年 Qt最早由芬兰奇趣科技开发
  • 1996年 进入商业领域,它也是目前流行的Linux桌面环境KDE的基础
  • 2008年 奇趣科技被诺基亚公司收购,Qt称为诺基亚旗下的编程基础
  • 2012年 Qt又被Digia公司(芬兰一家软件公司)收购
  • 2014年4月 跨平台的集成开发环境Qt Creator3.1.0发布,同年5月20日配发了Qt5.3正式版,至此Qt实现了对iOS、Android、WP等各平台的全面支持。

1.3什么是框架、库

框架是一个基本概念上的结构,用于解决或者处理复杂问题的一种结构化的设计体系。它可以把软件的通用功能抽象出来,形成一组组件或工具集,以方便开发者使用。框架通常包含了为实现某一类软件而设计的一组抽象类以及基于这组抽象类的扩展类,从而为软件重用提供强有力的支持。

库是一组预先编写好的代码集合,通常用于执行特定的任务或实现特定的功能。这些代码集合可以被多个程序或项目重复使用,以提高开发效率,减少代码冗余,并促进代码重用。库通常由函数、类、变量、数据结构和相关的文档组成。

框架:是程序员配合框架,完善填充框架中的一些细节

库:是被程序员调用的

1.4QT支持的平台

  • 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

1.5QT的优点

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

1.6QT的应用场景

  • 桌面应用程序;
  • 移动应用程序;
  • 嵌入式应用程序

1.7QT的成功案例

  • Linux桌面环境KDE(K Desktop Environment)
  • WPS Office 办公软件
  • Skype 网络电话
  • Google Earth 谷歌地球
  • VLC多媒体播放器
  • VirtualBox虚拟机软件

 

❤️结语:

本次精彩内容已圆满结束!希望各位读者在阅读过程中能够收获满满。在此,特别感谢各位读者的支持与三连赞。如果文章中存在任何问题或不足之处,欢迎在评论区留言,蜗牛必定会认真对待并加以改进,以便为大家呈现更优质的文章。你们的支持与鼓励,将是博主不断前进的最大动力。再次感谢大家的陪伴与支持!

相关文章
|
存储 算法 数据可视化
Qt开发技术:Qt绘图系统(二)QPainter详解
Qt开发技术:Qt绘图系统(二)QPainter详解
Qt开发技术:Qt绘图系统(二)QPainter详解
|
6月前
|
测试技术 API UED
【Qt 应用开发 】初步理解 Qt窗口中的模态性应用
【Qt 应用开发 】初步理解 Qt窗口中的模态性应用
180 1
|
6月前
|
Linux iOS开发 开发者
【Qt 学习笔记】Qt 背景介绍
【Qt 学习笔记】Qt 背景介绍
126 0
|
6月前
【Qt 学习笔记】Qt的坐标体系
【Qt 学习笔记】Qt的坐标体系
97 0
|
6月前
|
前端开发 数据可视化 JavaScript
【五一创作】QML、Qt Quick /Qt中绘制圆形
【五一创作】QML、Qt Quick /Qt中绘制圆形
639 0
|
计算机视觉 Python
openCV背景减除
openCV背景减除
55 0
|
Python
『PyQt5-Qt Designer篇』| 06 Qt Designer中水平布局和垂直布局的使用
『PyQt5-Qt Designer篇』| 06 Qt Designer中水平布局和垂直布局的使用
103 0
|
小程序 异构计算
|
C++
Qt功能优化:Qt 3D画廊
Qt功能优化:Qt 3D画廊
252 1
Qt功能优化:Qt 3D画廊