一、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、可以进行嵌入式开发