【Qt】--Qt概述

一、Qt的认识

1、简单认识

Qt是一个跨平台的C++图形用户界面程序框架。其为应用程序开发者提供了建立艺术级的图形界面所需要的所有功能、其是完全面向对象的、很容易扩展,Qt为开发者提供了一种基于组件的开发模式、开发者可以通过简单的拖拽和组合实现复杂的应用程序。

Qt是用于客户端开发的。

特指用于桌面应用开发(电脑上写的程序)涉及到的一套技术,Qt其无法开发网页前端、也无法开发移动应用。

不过目前Qt官方也是支持移动应用的开看发的、但是目前没有啥知名的商业移动应用。

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

和用户交互的界面,一般有两种典型的风格:

1、命令行界面:TUI、就和我们前面使用的LInux界面一样、一个黑框框、其更多是一些专业软 件、是给我们的程序员使用的。

2、图形化界面:GUI其是面向给我们普通用户使用的

Qt是用来编写CUI程序的一套框架。

在windows编写GUI程序是有很多种解决方案的、我们的Qt只是其中的一种。

windows还有如下几种方式进行GUI的开发:

1、windows API :windows下提供的原生API、开发起来非常原始也非常繁琐

2、MFC

3、Qt

后面微软也弄了一个编程C#

4、windows Forms 给C#量身定做的一套开发CUI技术体系

5、WPF

6、UWP

7、Electron:本质上是基于HTML这样的网页打包成一个Windows上运行的客户端编程

其比较大的缺点就是:开发出来的程序的运行效率低于上面介绍的一些原生开发的技术体系。

2、框架

框架:本质群大佬发明出来的、方便我们普通的程序员使用的、可以让我们写出来的代码也可以比较靠谱

其实其和我们使用的C语言标准库一样、都是属于别人将一些代码写好了、让我们去使用的。

框架则是占主体的、程序员配合框架、完善填充框架、框架中留出的一些细节。

3、Qt支持的系统

1、Windows各个版本

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

Linux主要是给服务器使用的,服务器是不需要图形界面的TUI、是基于命令操作、门槛比较高、效率也更高。

GUI基于图形化界面操作、门槛低、效率低

3、mac系统

4、嵌入式系统

是Qt开发的一个主战场,有些嵌入式系统也是需要运行图形化界面的程序的,尤其是一些工业设备

4、Qt的优点

1、跨平台、几乎支持所有的平台

2、接口简单、容易上手、学习Qt框架对学习其他的框架具有参考意义

3、一定程度上简化了内存回收机制(半自动的垃圾回收)

4、开发效率高、能够快速构建应用程序

5、有很好的社区氛围、市场份额在缓慢提升

6、可以进行嵌入式开发

相关推荐
殳翰2 小时前
下服务器端开发流程及相关工具介绍(C++)
开发语言·c++
落寞的星星2 小时前
这个对象就包含了已经转换好的DFA和各种词法分析器运转所需要的参数。下一步,我们就可以用ScannerInfo对象创建出Scanner对象,请看下面的代码:
开发语言·c#
nothing&nowhere2 小时前
用 Python 做问卷数据清洗:无效样本检测与处理实战
开发语言·python·数据清洗·数据处理·问卷星·问卷星脚本·刷问卷
青瓦梦滋3 小时前
协议定制/序列化-反序列化(Linux视角)
linux·服务器·网络·c++
2601_961593423 小时前
Rust 开发环境配置繁琐?RustRover 开箱即用搞定编码调试
开发语言·后端·macos·rust
HZZD_HZZD3 小时前
DL/T 645-2026新国标深度解读与智能电表协议适配实战:从帧结构变化到Java采集器升级的全链路改造方案
java·开发语言
多加点辣也没关系6 小时前
JavaScript|第4章:类型转换
开发语言·javascript
聪慧的水蜜桃6 小时前
【YFIOs】用C#开发硬件之设备上云
开发语言·c#
yqcoder6 小时前
httpOnly 是什么,又有什么用?
开发语言·前端·javascript
山登绝顶我为峰 3(^v^)36 小时前
C/C++ 交叉编译方法
java·c语言·c++