一、Qt是什么
1、Qt 是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务。
2、Qt是面向对象的框架,具有面向对象语言的特性:封装、继承、多态。
3、2008年,奇趣科技被诺基亚公司收购,当时诺基亚手机上的很多应用都是用QT开发的。我也是从那一年才知道的Qt。
4、2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布,实现了对于iOS的完全支持,实现了全面支持iOS、Android、Windows、Linux。使得QT开发的程序可以遍布桌面、手机、嵌入式等各种不同的设备上。
二、Qt和Qt Creator
Qt是基于C++语言写的用于Qt开发的Q打头的类库集合,或者说是开发框架,里面集成了一些库函数,提高开发效率。
Qt Creator是用Qt开发的IDE,是开发环境,也可以叫开发工具,类似的像VS、VSCode、Pycharm,也可以进行Qt开发,当然VS中的Qt是作为一个插件集成到VS平台的。
三、Qt的特点
1、基于 C++ 的一种语言扩展(Extention)
Qt 的类都是用 C++ 写出来的。这也就是说, Qt 本身已经继承了C++的快速、简易、面向对象等许多的优点。并且封装成好多的库类供使用,不用担心底层的跨平台兼容性问题。如我们最常用的serialport, file, I/O device, date/time,socket等。
2、可移植性
Qt不只是可以在 Linux 中运行,也同样可以运行在 Windows 、Mac OS X等多种不同的平台中。包括现在大放光彩的国产操作系统上,如中标麒麟的龙芯,统信UOS等。
3、高效
Qt运行时无需依赖“虚拟机”,可直接操作内存,因而使用Qt开发的应用程序运行速度快。Qt管理好内存,比Java\C#等占用的内存空间更小。所以Qt在比如音视频播放器、视频监控软件、工业控制软件、嵌入式软件、汽车车机方面是最好的选择。像我们市面上常见的摄像头-海康威视,他的桌面端管理软件就是Qt开发的。现在好多汽车制造商的车机系统也都是用Qt在做。
4、国产化
Qt在国产化方面是重中之重,军工、汽车、工业控制、大型医疗设备等,尤其是军工方面,随着我国军工国产化的逐渐推进,Qt必将会在此领域大放光彩,比如WPS是Qt开发的,已经占领国产操作系统领域大部分市场了。
四、Qt的缺点
1、Qt和UI布局设计真的很麻烦,不像delphi、C# winform或WPF,支持到控件级的上下左右布局,Qt的UI布局需要将容器先搭建好,再往容器中放控件(类似于先把衣柜打好,再往里放衣服),并且栅格化后,再加控件还需要打破现有布局格式才可以,总之很容易将界面弄乱。
2、Qt的控件效果设置也很不友好,有很多效果需要自己写qss样式来实现,但我觉得有利有弊,优点是灵活扩展多样化,缺点是自己会多写很多代码,并且要不断的尝试写完的qss是什么样的效果,达没达到要求。其实qss是个好东西,类似于web技术栈中的css,在以往的工作中,我发现好多重复的qss写法,希望大家以后在写程序时注意不要重复的写css样式,在最上层的容器中通过类,名称等可以控制全部或某一个控件的样式。
3、Qt原生的控件功能也不太完善,也不太漂亮,第三方的控件也比较少,所以做出来的东西要想漂亮,在UI上要花长时间来设计。但是你想在嵌入式、国产化、跨平台领域开发软件,也没有更好的工具了,首先还是Qt。
4、Qt的使用场景大多还是桌面端应用程序开发,有一定的局限性。
五、Qt的编译器-MinGW
1、Qt的安装程序主要分为windows、linux、mac的版本,分别在不同的平台运行。
2、Qt5.9以前的版本,windows版本又细分了一些版本,包括MinGW和MSVC。其中 MSVC 用的是 VS 编译器,同时还需要安装一些Visual C++的库,如果你的电脑中没有安装VS那就不要安装这个版本了,否则使用时编译器会有错误,编译程序会通不过。
3、Qt5.9以后的版本,把以前版本中的一些细分都集成到一个安装包中,可以看到安装包从以前的1.2G变为了2.3G。而具体的细分就放到了安装时自选了,比如之前的MinGW和MSVC等不同版本就可以在安装时选择,而windows版本就都集成到 qt-opensource-windows-x86-XXX 中。
4、windows系统下最常用编译器是MinGW 32位的。
《写在最前边》
《一、QT的前世今生》
《二、QT下载、安装及问题解决(windows系统)》
《三、Qt Creator使用》
《四、Qt 的第一个demo-CSDN博客》
《五、带登录窗体的demo》
《六、新建窗体时,几种窗体的区别》
《七、Qt 信号和槽》