摘要

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


一,Qt的基本框架

在上一篇中,我们已经完成了Qt的安装和VS的环境配置。QT从入门到入土(一)——Qt5.14.2安装教程和VS2019环境配置 – 唯有自己强大 – 博客园 (cnblogs.com)

在讲解对象树之前,我们先来熟悉一下Qt的基本框架。首先新建一个项目:

  •  main.cpp分析

打开sources里面的main.cpp,可以看到以下代码:

注意:

  1. 每个Qt程序有且只能有一个QApplication对象,没有会报错。
  2. Qt里面的头文件和类名是一致的,知道头文件就知道类名,反之亦然
  3. Qt头文件是没有.h的,基本都是以大写的Q开头

根据以上的分析,我们可以得出Qt的程序框架代码:

#include <QApplication>      
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);  
     /*
       在这里写你的代码
     */     
    return a.exec();      
}
  • widget.h和widget.cpp分析

打开Headers里面的widget.h,和sources里面的widget.app,可以看到以下代码:

 

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

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

版权声明:本文为xyf327原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xyf327/p/15020154.html