首页 > 其他分享 >Qt:Qt背景

Qt:Qt背景

时间:2024-08-22 16:56:56浏览次数:6  
标签:方案 Qt Windows 背景 C++ 开发 Linux

目录

1.Qt解释

2.Windows下开发GUI的方案

3.框架

4.Qt历史

4.Qt支持的平台

5.Qt版本

6.Qt案例


1.Qt解释

        前端开发,分为网页前端开发(Web)、桌面应用开发(Windows、Linux)、移动应用开发(Android)。Qt一般用于客户端开发,这里的客户端是狭义的,指桌面应用开发。

        提到Qt,与之密切相关的关键词就是“桌面应用开发”、C++、框架。

        Qt不能用来开发Web网页,也不能用来开发Android应用,但是最新版的Qt也支持开发Android应用,但是几乎没人使用。

        客户端开发的重要任务之一就是用户使用界面的开发。交互界面一般有两种分格:

        1.命令行风格TUI (Terminal  User Interface)

        2.图像界面GUI (Graphical User Interface)

        而Qt就是用来编写GUI程序的一套框架。


2.Windows下开发GUI的方案

        1.Windows API,使用Windows系统提供的原生API来开发,早期Windows开发常用的使用方案,现在几乎淘汰了。

        2.MFC (Microsoft Foundation Classes),微软基础类 库,早期划时代的一套方案。

        3.Qt (1991年诞生),和MFC差不多同时期的产物,但是如今MFC已经淘汰了,而Qt社区活力满满。

        以上方案都是基于C/C++语言。

        还有一些方案比如GTK、wxWidgets······但是市场不多。

        后来,微软自研了C# (.net) 语言,于是有了一套新的方案:

        4.Windows Forms

        5.从Windows Forms升级上来的方案,比如WPF、UWP等等

        6.当前也比较流行的方案,Electron方案,大致是将HTML网页打包为应用程序,该技术体系是Github团队开发一款叫atom的文本编辑器所研发的,但是atom被微软开发的vscode打败了。由于该方案基于HTML轻量级网页,所以使用该方案的软件性能比Qt开发的界面差。

        以上,Qt的优点,C++、跨平台 (Windows、Linux、Mac)、性能高,使得Qt一直是一棵常青树。

3.框架

         框架,可以理解为优秀代码的模板,我们根据框架的规则写代码。相比之下,Java社区的spring框架十分成熟,几乎快要成为标准。而C++社区是割裂的,没有很成熟同时使用者也众多的方案,因此,很难得,Qt已经是C++社区比较优秀的方案了。

4.Qt历史

        计算机神奇的一年,1991年,一家名气很小的公司奇趣科技研发了Qt技术,同年,还有Python诞生、Vim、OpenGL、Linux等众多知名技术诞生。

        1996 年 进⼊商业领域,它也是当时流⾏的 Linux 桌⾯环境 KDE 的基础;

        2008年,诺基亚收购了奇趣科技,在诺基亚收购后,Qt的曝光率大大提升。

        2012 年 Qt ⼜被 Digia 公司收购。诺基亚手机业务断崖式下降,最后和微软做了一代Windows Phone系统的Lumia手机。

        2014 年 4 ⽉ 跨平台的集成开发环境 Qt Creator3.1.0 发布,同年 5 ⽉ 20 ⽇发布了 Qt 5.3 正式版,⾄ 此 Qt 实现了对 IOS、Android、Embedded 等各平台的全⾯⽀持。

4.Qt支持的平台

        Windows各个版本。Windows桌面环境和内核绑定在一起,因此,其桌面开发方案较少。

        Linux各种发行版,尤其是基于Qt开发的KDE桌面。Linux下有多种桌面环境开发方案,较热门的有基于Qt的KDE方案,以及基于GTK开发的GNOME方案。

        Mac

        部分嵌入式系统

        安卓和IOS,几乎没人使用,约等于没有。

5.Qt版本

        最新为Qt 6 ,但是主流还在使用Qt 5。

6.Qt案例

         Linux 桌⾯环境 KDE、WPS Office 办公软件、Google Earth ⾕歌地图 、VLC 多媒体播放器 、VirtualBox 虚拟机软件、剪映。

标签:方案,Qt,Windows,背景,C++,开发,Linux
From: https://blog.csdn.net/weixin_74098337/article/details/141398198

相关文章

  • QT+OpenGL简单纹理贴图
    一、概述之前的文章都是绘制一些纯色的三角形和正方形以及控制他们的相对位置。在实际的开发中一般都需要给绘制出的图形贴上漂亮的纹理。纹理贴图步骤:1.创建纹理glGenTextures(1,&texture);//参数1:创建纹理的数量,参数2:用户定义的纹理id,一般为unsignedint......
  • QT+OpenGL从顶点着色器传递颜色数据给片元着色器
    一、概述目的:1.定义顶点数据和颜色数据,并将颜色数据通过顶点着色器传递给片元着色器2.对定义的三角形动态进行:平移、颠倒、镜像二、示例代码1.定义顶点坐标和颜色值。此处颜色和顶点是放到一块的。需要告知GPU如何解析数据,如:哪些是顶点,哪......
  • Qt键盘事件检测不到方向键|阻止控件截取键盘事件
    做项目二次开发的时候遇到一个问题,在自己新建的界面中放了很多控件,需要通过键盘方向键来控制焦点在不同控件间的转移,之前用键盘事件检测上下键没有问题,后来加上左右键发现没有反应,查了资料了解到是控件吞掉了左右方向键的信号,因为Qt中本身就有一些处理事件的函数,控件会获取键盘左......
  • QT+OpenGL通过两个VAO来管理两个三角形
    一、概述需求:通过两个VAO来管理VBO,从而控制两个三角形此需求和单独通过VAO绘制一个三角形有较大的不同,此处创建两个VAO,同时需要管理两个VBO。在绘制图形的时候需要分别绑定这两个VAO才能正确的绘制出三角形。效果:二、代码示例1.定义顶点数据(两个三角形......
  • QT+OpenGL使用一组顶点绘制两个三角形
    一、概述需求:使用一组顶点坐标绘制两个三角形。ps:此需求和绘制一个三角形并没有什么不同,只是把顶点坐标由三个改成了6个。依次类推,如果想要绘制多边形或者更多的三角形,只需要定义不同的顶点就行了。效果:二、代码示例1.定义顶点floatvertices[18]={......
  • QT自定义结构体的传递
    方法1:使用Q_DECLARE_METATYPE(TestResult)进行声明1.1声明#ifndefTESTRESULT_H#defineTESTRESULT_H#include<QDateTime>#include<QString>#include<QMetaType>//用于测试时更新内容,作为结果导出的依据classTestResult{public:int_nid=0;int_coun......
  • 【python】PyQt5中的QFrame控件,控制图形的边框样式、阴影效果、形状等属性
    ✨✨欢迎大家来到景天科技苑✨✨......
  • qt静态编译 全自动编译qt静态库 qt5 windows安装qt (2024.2.23)
    全自动编译qt5静态库(2024.2.23)本教程是从无到有配置qt.io和vcpkg实现全自动编译qt5的静态库,使得您可以静态编译qt项目0.安装VisualStudio2022这个我就不多解释了,直接去官网下载社区版本,勾选使用C++的桌面开发安装好就行1.安装qt.io的开发环境1.1下载在线安装包并且配......
  • 【嵌入式裸机开发】智能家居入门7:最新ONENET,MQTT协议接入,最全最新(微信小程序、MQTT协
    智能家居入门7前言一、ONENET云平台创建产品与设备二、STM32端连接服务器前的准备三、STM32端实现四、微信小程序端连接服务器前的准备五、微信小程序端实现六、最终测试前言本篇文章介绍最新ONENET云平台的MQTT协议接入方法,在STM32上实现数据上云与服务器下发数据......
  • VS2022+QT6.7.2 定时器的使用(两种方法)
    目录一、继承QObject定时器事件二、QTimer类三、具体实现一、继承QObject定时器事件  所有继承自QObject的类,都会有一个timerEvent(QTimerEvent*event)的纯虚函数,startTimer()设定定时间隔并启动,再重载这个函数以处理自己的定时任务,多个定时任务用timeId区分,结束后......