1.什么是Qt
Qt特指用来进行桌面应用开发(电脑上写的程序)涉及到的一套技术Qt无法开发网页前端,也不能开发移动应用。
客户端开发的重要任务:编写和用户交互的界面。一般来说和用户交互的界面,有两种典型风格:
1.命令行界面/终端界面(黑框框) -->TUI (gcc, gdb专业软件(给程序用的))
2.图形化界面-> GUI(普通用户用的)
综上所述,Qt用来编写桌面的GUI程序的一套框架。在Windows编写GUI程序,也是有很多种的解决方案的,Qt只是其中的一种。
Windows 下还有哪些方案可以开发GUI?
1.WindowsAPI windows系统提供原生API
开发起来非常原始 也非常繁项
2.MFC 当年(上个世纪90年代)影响力非常深远的~
3.Qt(1991年左右)诞生了( 和MFC不同,MFC早都已经不更新了,寄了),Qt仍然在不停的推陈出新,更新新的版本,至今仍然非常有生命力。Qt是基于C/C++搭建出来的一些GUI开发的技术体系,后来微软,自己搞了一个编程语言C#(Csharp)
4WindowsForms给C#(net)量身定做的一套开发GUI技术体系~
5.WPF
6.UWP
7.Electron 本质上是把基于HTML这样的网页,打包成一个windows上运行的客户端程序~这个技术体系,最初是用来开发atom"文本编辑器的~~ Github开发的~
后来atom就寄了~~(被微软搞的VSCode给干肌)
比较大的缺点,开发出来的程序,运行效率,低于上面介绍的一些原生开发的技术体系的
Qt虽然只是上述解决方案中的其中一个,仍然属于是其中非常能打的(商业公司的产品,使用Qt非常多的,对应的就业岗位相比于其他的技术方案也是更多的)。
Qt优势,能够跨平台,不仅仅支持Windows,也支持Linux,还支持Mac。
Qt是一个跨平台的C++图形用户界面应用程序框架
所谓框架,本质上是一群大佬发明出来的,让普通的程序员写出来的代码也比较靠谱。
库和框架,都是属于大佬把一些代码写好了,让你去使用。
库,是被程序员调用的.(程序员是主体)
框架,则是占主体~~程序员配合框架,完善填充框架中留出的一些细节
1.1 Qt⽀持的平台

嵌入式系统,也是Qt实际开发中的一个主战场。日常使用的,冰箱,洗衣机,路由器,投影仪......这些设备内部也有计算机,这种设备里面的计算机,硬件配置就不需要很高了。低配置,低成本。
有些嵌入式系统,也是需要运行图形化界面的程序的,这个时候,Qt就可以起到作用了.尤其是在一些工业设备上当然,这个领域中,Qt也收到了安卓的挑战。
1.2 1.5Qt的优点
跨平台,几乎支持所有的平台;
接口简单,容易上手,学习QT框架对学习其他框架有参考意义。
一定程度上简化了内存回收机制 半自动的垃圾回收,能够简化内存释放,也能够尽可能小的影响程序的运行效率。
开发效率高,能够快速的构建应用程序。
有很好的社区氛围,市场份额在缓慢上升。
可以进行嵌入式开发。
2. Qt开发环境
Qt开发环境,需要安装三个部分:

2.1 Qt的下载与安装
qt:5.14版本;
zS@7945685213

是Qt SDK中内置的c++编译器,就是一个windows版本的gcc/g++;
下载安装完成之后,配置环境变量。
Linux也有一个环境变量,叫做PATH,输入的命令,就会去PATH下对应的目录中查找对应的程序。我们此处需要把Qt SDK中的某个目录加入到Path环境变量中,要添加的目录,是这个包含了一大堆动态库和exe的目录。
为啥要配置这个环境变量:
1)让操作系统/QtCreator工具,能够找到QtSDK中提供的exe
2)也是运行Qt程序的时候,能够找到对应.dll动态库~
环境变量,也可以理解成一种简单的"进程间通信"机制
2.2 使用qt creater创建一个qt项目


2.3 qt项目创建并运行

2.4 代码解读

Linux中的exec. 底层是进程程序替换,即把可执行文件中的代码和数据,替换到当前进程中
(夺舍)。当前Qt中的exec和Linux中的exec没有任何关系,只是名字恰好是一样的。
2.5 头文件
cpp
#ifndef WIDGET_H
#define WIDGET_H
//header guard ,保证头文件只包含一次
#include <QWidget>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
private:
Ui::Widget *ui;
};
#endif // WIDGET_H

Qt中使用xml文件就是去描述程序的界面是啥样的,进一步的qmake会调用相关的工具,依据这个xml文件生成一些C++代码,从而把完整的界面构造出来
本文就到这里,谢谢观看!