DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

转自:http://blog.csdn.net/lyc_daniel/article/details/12103189

 

利用Qt Creator开发程序时,需要包含利用#include来添加头文件。

大家都知道,#include <>用于包含标准库头文件,路径在安装软件的include文件夹下;#include ""用于包含用户自定义的,路径是在用户当前目录下(或自建工程目录下)。

对于后者,路径比较直观,容易理解。如#include "lyc/daniel.h",路径在当前目录的lyc文件夹下。(文件包含是可以嵌套的。)

下面重点追溯一下Qt的标准库头文件的路径包含情况。

1.新建一个GUI工程,可以看到在mainwindow.h文件中有#include <QMainWindow>

2.在Qt的include路径下,可以看到里面是文件夹,而不是文件,这是为什么呢?

3.打开工程里的pro文件,便可知道已经包含了二级目录QtCore和QtGui

即添加了include里的两个文件

4.在include文件夹下搜索QMainWindow(注意不带.h),可以看到在include\QtGui目录下找到了QMainWindow

5.用文本打开QMainWindow,可以看到

6.再打开QtGui路径下的qmainwindow.h文件(与QMainWindow在同一路径)

可以看到,路径发生了跳转,从当前路径往上跳两个路径,再从src文件下依次找到qmainwindow.h文件

7.打开qmainwindow.h文件,可以看到

至此,可以看出找到了目标头文件。

在进行编译的时候,该文件内的代码会被拷贝到#include <QMainWindow>处

举例:

在头文件中QT项如果没有加network:

 

在应用程序包含<QtNetwork>以及<QUdpSocket>等子类头文件,都会提示没有此文件;

posted on 2019-06-04 16:50  DoubleLi  阅读(4144)  评论(0编辑  收藏  举报