QT——概述

<1>, Qt概述

Qt 是⼀个 跨平台的 C++ 图形⽤⼾界⾯应⽤程序框架

Qt ⽀持多种开发⼯具,其中⽐较常⽤的开发⼯具有:Qt Creator、Visual Studio、Eclipse.

一,Qt Creator 集成开发环境(IDE)

Qt Creator 是⼀个轻量级的跨平台集成开发环境(IDE),专为使⽤ Qt 框架进⾏应⽤程序开发⽽设计。

它是⼀个功能强⼤、易于使⽤、快速且⾼效的⼯具,被⼴泛⽤于编写各种类型的应⽤程序,如桌⾯应⽤程序、移动应⽤程序和嵌⼊式系统等。

Qt Creator 提供了⼀个可视化的界⾯设计器和代码编辑器,可以帮助开发者更快捷地创建复杂的⽤⼾界⾯和处理各种事件。

它还包含了调试⼯具、版本控制⼯具、⾃动完成和智能提⽰等功能,以及⽀持多语⾔和跨平台的开发环境。

二,Qt Creator 的主要特点包括:

• 紧密集成的 Qt 框架:Qt Creator 专⻔为 Qt 开发⽽设计,因此它与 Qt 框架集成得⾮常紧密,使开发者可以更容易地管理和部署他们的应⽤程序。

• 强⼤的编辑器:Qt Creator 具有⼀些先进的编辑器功能,如语法⾼亮、代码折叠、智能提⽰、⾃动完成和代码重构。

• 集成的调试器:Qt Creator 内置了调试器,允许开发⼈员在代码中设置断点以及检查变量、堆栈和调⽤树等信息。

• ⾼效的构建系统:Qt Creator 提供了⼀个⾼效的构建系统,可以⾃动构建和部署应⽤程序,同时⽀持使⽤不同的编译器和平台。

• 可视化界⾯设计器:Qt Creator 具有⼀个可视化界⾯设计器,它允许开发⼈员在没有编写代码的情况下创建复杂的⽤⼾界⾯。

• 多语⾔⽀持:Qt Creator ⽀持多种编程语⾔,包括 C++、QML、JavaScript 等。

总⽽⾔之,Qt Creator 是⼀个功能⻬全、易于使⽤且⾼效的跨平台 IDE,适⽤于桌面应用开发者。不仅仅支持Windows,也支持Linux,还支持Mac。运行效率不低,还能跨平台,属于六边战士。

三,客户端开发的主要任务:

编写和用户交互的界面,两种用户交互界面,两种典型的风格:

1, (专业软件:给程序员用的) 命令行界面/终端界面(黑框框)=> TUI (Text-based User Interface)

2, (通用软件:给普通用户用的)图形化界面 => GUI (Graphical User Interface)

四,windows 下有哪些方案,可以开发GUI

基于C/C++搭建出来的GUI开发技术框架

1,windows API 系统提供的原生API,开发起来非常原始,也非常繁琐。

2, MFC (上世纪90年代)当年影响非常深远

3, VC 6.0 经典开发环境

4, QT (1991年左右)诞生了,现在还在更新

5,还有 GTK,WxWidget 等等

6, 后来微软自己搞的编程语言 C# (C sharp)

7, windows From 是微软给C# (.net) 量身定做的一套开发GUI技术体系

8, 微软接着推出了 WPF/UWP (C# 的升级版)

9, Electron 本质上是把基于 HTML 网页,打包成 windos 上运行的客户端程序 (这个技术体系,最初是GiHub 开发的"atom",后来被微软的 VSCode 干掉了)

五、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 的应用场景

• 桌⾯应⽤程序

Qt 能够创建各种类型的桌⾯应⽤程序,包括⽂件管理器、媒体播放器、绘图程序等。Qt 应⽤程序⽀持多种操作系统,可以运⾏在 Windows、Linux、macOS 等桌⾯操作系统上。

• 移动应⽤程序

Qt ⽀持 Android 和 IOS 移动操作系统,为应⽤程序提供了强⼤的跨平台能⼒。可以使⽤ Qt 构建各种移动应⽤程序,例如社交应⽤、游戏、娱乐等。

• 嵌⼊式系统

Qt 在嵌⼊式领域应⽤⾮常⼴泛,它可以构建⾯向各种设备的图形应⽤程序,在机顶盒、⻋载娱乐系统、安防监控设备等领域具有⼴泛的应⽤。

七,Qt的成功案例

1,Linux 桌⾯环境 KDE

2,WPS Office 办公软件

3,Skype ⽹络电话

4,Google Earth ⾕歌地图

5,VLC 多媒体播放器

6,VirtualBox 虚拟机软件

7,剪映

相关推荐
2601_962885722 小时前
如何用 Python 把 K 线重采样成任意周期?
开发语言·python
Wang's Blog2 小时前
Java 项目实战: 交友项目 - 圈子功能实现:总结
java·开发语言·交友
下一站春风里3 小时前
位运算完整学习笔记:按位与(&)+ 异或(^)
开发语言·c++·算法
天外飞雨道沧桑4 小时前
我在浏览器里练了一个 792 参数的大模型,它学会了补全 JavaScript
开发语言·javascript·ai·ecmascript·ai编程
hhhjhl4 小时前
Yup 跨端三方库仓颉适配全流程
java·开发语言
运维行者_4 小时前
网络监控工具怎么选?从设备监控到智能运维的能力清单
运维·服务器·开发语言·网络·人工智能·支持向量机·php
“AI国潮设计-小江”5 小时前
【AIGC实战】Python+SDXL打造“潮汕英歌舞IP”万能立牌插件,批量生成“发财元宝蛋糕”视觉营销方案(附源码)
开发语言·人工智能·python·prompt·aigc
lhbweilai5 小时前
分析FreeRTOS内核对象API的源码实现(八)
c语言·开发语言·stm32·单片机
努力努力再努力wz5 小时前
【C++高阶系列】C++20 协程底层原理:函数为什么能暂停?从状态机到 Task,彻底串起挂起、恢复与协程调度
开发语言·c++·c++20·1024程序员节
咩咩啃树皮5 小时前
JavaScript 中 this 指向为什么总在变?
开发语言·前端·javascript