qt是用来干什么的
--》桌面应用开发(做电脑的应用程序,面对客户端)。
主要用于开发跨平台的应用程序和用户界面(UI)。它是一个全面的C++库集合,提供了构建软件应用所需的各种工具和功能。
客户端开发的重要任务:编写和用户交互的界面
1、命令行界面/终端界面(黑框框)-》TUI(gcc、gdb) 效率高 专业人士
2、图形化界面-》GUI 用于普通用户
而QT就是用来编写GUI程序的一套框架
QT发展历程及未来发展方向
Qt自1995年由哈维·凯勒(Haavard Nord)和埃里克·松德加德(Eirik Chambe-Eng)创立的 Troll Tech公司发布以来,经历了显著的发展。以下是Qt的一些重要发展阶段:
早期发展
- **1995年**:Qt首次发布,最初是为了解决跨平台开发的问题。
- **1998年**:Qt/Windows 发布,标志着Qt开始支持Windows平台。
开源与社区成长
- **2000年**:Qt进入开源领域,发布了LGPL版本,这大大促进了其在开源社区中的采用。
- **2008年**:Trolltech被诺基亚收购,随后Qt成为了诺基亚战略的一部分,并且继续扩展其功能集。
Qt 4 和 Qt 5 的发布
- **Qt 4系列**:引入了新的工具如Qt Designer、Qt Creator IDE,并增强了对XML、SQL等的支持。
- **2012年**:Qt 5发布,重点放在图形栈的现代化上,包括对OpenGL ES 2.0的支持,以及引入了QML和Qt Quick用于构建用户界面。
独立于诺基亚后的Qt
- **2011年**:随着诺基亚的战略调整,Qt业务最终由Digia公司接手。
- **2014年**:Qt公司成立,专门负责Qt框架的开发和商业化,确保了Qt作为一个独立实体的未来发展。
最新进展
- **持续更新**:Qt公司定期发布新版本,增加新特性、改进性能并保持与最新操作系统和技术趋势同步。
- **Qt for WebAssembly**:允许使用Qt创建的应用程序运行在浏览器中。
- **Qt 6**:从2020年开始推出,强调模块化设计、更好的C++标准兼容性以及对现代硬件的支持。
社区和商业支持
- **活跃社区**:Qt拥有一个庞大而活跃的开发者社区,提供了丰富的资源和支持。
- **商业服务**:Qt公司提供专业服务、培训和技术支持,帮助企业客户更有效地使用Qt。
未来方向
Qt继续致力于增强其作为跨平台开发框架的地位,特别关注物联网(IoT)、汽车嵌入式系统等领域,并不断探索新技术以满足市场的需求。随着Qt 6系列的发展,它正在变得更加灵活和高效,以适应快速变化的技术环境。
Qt支持的系统
1. *Windows (各个版本)
2. **Linux (各种发行版)**,
尤其是 Linux 中的 KDE 桌面基于 Qt 构建的。
Linux 主要是给服务器使用。服务器不需要图形界面。
- TUI: 基于命令操作,门槛更高,效率也更高。
- GUI: 基于图形化操作,门槛低,效率也低。
也有少数用户,使用 Linux 作为桌面。
Linux 桌面环境中,存在好几套桌面环境的~~
- GNOME (基于 GTK 构建的)
- KDE (基于 Qt 构建的)
3. **Mac 系统**
(mac 电脑最主要的劣势,品牌信仰,真说性价比,肯定是远远不如 windows 电脑的)
前几年新出的 mac M1 系列的电脑,号称 GPU 老牛逼了~~ 售价 2.5w 左右~~
仔细一看参数,GPU 能力大概就是桌面端 3070 的水平 (4k 左右)
4. **嵌入式系统**
#### 嵌入式系统,也是 Qt 实际开发中的一个主战场~~
日常使用的冰箱、洗衣机、路由器、投影仪……这些设备内部也有计算机。
这种设备,里面的计算机,硬件配置就不需要很高了~~
低配置,低成本~~
有些嵌入式系统,也是需要运行图形化界面的程序的~~,这个时候 Qt 就可以起到作用了。尤其是在一些工业设备上。
当然,这个领域中,Qt 也收到了安卓的挑战~~
1.5 Qt 的优点
- 跨平台,几乎支持所有的平台;
- 接口简单,容易上手,学习 QT 框架对学习其他框架有参考意义。
- 一定程度上简化了内存回收机制;(半自动的垃圾回收,能够简化内存释放,也能够尽可能小的影响程序的运行效率)
- 开发效率高,能够快速的构建应用程序。
- 有很好的社区氛围,市场份额在缓慢上升。
- 可以进行嵌入式开发。