QT从入门到入土(二)——对象模型(对象树)和窗口坐标体系

摘要
我们使用的标准 C++,其设计的对象模型虽然已经提供了非常高效的 RTTI 支持,但是在某些方面还是不够灵活。比如在 GUI 编程方面,既需要高效的运行效率也需要强大的灵活性,诸如删除某窗口时可不想把子窗口用代码一个个去析构。Qt 将这两者的优点完美的结合在了一起,创造出了特有的对象模型(Qt Object Model)。

一,Qt的基本框架
在上一篇中,我们已经完成了Qt的安装和VS的环境配置。QT从入门到入土(一)——Qt5.14.2安装教程和VS2019环境配置

在讲解对象树之前,我们先来熟悉一下Qt的基本框架。首先新建一个项目:
QT从入门到入土(二)——对象模型(对象树)和窗口坐标体系

main.cpp分析
打开sources里面的main.cpp,可以看到以下代码:
QT从入门到入土(二)——对象模型(对象树)和窗口坐标体系

注意:

每个Qt程序有且只能有一个QApplication对象,没有会报错。
Qt里面的头文件和类名是一致的,知道头文件就知道类名,反之亦然
Qt头文件是没有.h的,基本都是以大写的Q开头
根据以上的分析,我们可以得出Qt的程序框架代码:

#include
int main(int argc, char argv[])
{
QApplication a(argc, argv);
/

在这里写你的代码
*/
return a.exec();
}
widget.h和widget.cpp分析
打开Headers里面的widget.h,和sources里面的widget.app,可以看到以下代码:
QT从入门到入土(二)——对象模型(对象树)和窗口坐标体系

最上面的MyfirstQt.pro,是管理项目的文件,用来存储项目设置。

后缀为“.pro”的文件是项目的管理文件,文件名就是项目的名称,如本项目中的 MyfirstQt.pro。(类似与VS工程的.sln文件)

上一篇:PS鼠绘一个扁平化风格的可爱和服妹


下一篇:数据分析之滚动窗口pandas.DataFrame.rolling方法