QT控件提升后报错:C1083: 无法打开包括文件: “xxxxxx.h”:No such file or directory

一、 前言篇

老早之前就遇到该问题了,提升后的控件进行编译运行时发生报错,“xxxxxx.h”:No such file or directory,也就是找不到该类的头文件路径,为什么找不到???
(1)一般情况下,我们都是直接在当前路径下(.pro所在路径)建立的类,所以提升后是没有问题的,因为程序会自动在当前路径下搜索提升类的头文件(这也是你直接在写#include时可以自动提示的原因);此种情况不赘述;
(2)实际上在正式开发项目的时候,90%情况以上都是对应的类有自己相应的文件夹来进行维护,见图:
QT控件提升后报错:C1083: 无法打开包括文件: “xxxxxx.h”:No such file or directory_第1张图片
如上图所示,每个文件夹下包含了很多个系列的类,都是由文件夹来进行维护(分门别类);
那这种情况下实际需要有某些控件需要被提升,那么此时如果处理不当,就会产生“xxxxxx.h”:No such file or directory报错!!!
下面我们来模仿一下,看看如何避免这种错误以及正确的控件提升方式!

二、 正式篇

1.

首先我们建立一个类test,而这个类在src文件夹下;在后续中我们会将Widget窗口中的一个子窗口给提升为test类;
QT控件提升后报错:C1083: 无法打开包括文件: “xxxxxx.h”:No such file or directory_第2张图片
test类的ui图:
在这里插入图片描述

2.

回到Widget类,在Widget主窗口中放入一个子窗口widget, 并将其提升为test类;
QT控件提升后报错:C1083: 无法打开包括文件: “xxxxxx.h”:No such file or directory_第3张图片
此时运行会发现:这不就是前言篇中提到的报错吗???是的!!!在这里插入图片描述

3.

解决方案:
方案(1)在UI中控件提升的同时指定头文件绝对路径,如:
F:/Users/XingWei/Desktop/Qt/untitled2/src/test.h
QT控件提升后报错:C1083: 无法打开包括文件: “xxxxxx.h”:No such file or directory_第4张图片
方案(2)在UI控件提升的同时指定头文件的相对路径,如:
./src/test.h (注意:. 是pro文件所在路径)
QT控件提升后报错:C1083: 无法打开包括文件: “xxxxxx.h”:No such file or directory_第5张图片
方案(3)在.pro配置文件中添加以下话语, INCLUDEPATH += $$PWD/src,就是指定头文件路径,一句话搞定!
QT控件提升后报错:C1083: 无法打开包括文件: “xxxxxx.h”:No such file or directory_第6张图片

4.

运行结果:3(1), 3(2), 3(3)的运行结果是一样的!!!
QT控件提升后报错:C1083: 无法打开包括文件: “xxxxxx.h”:No such file or directory_第7张图片

5.

推荐:极力推荐使用第3-(3)方案,简洁的不得了!!!

你可能感兴趣的:(#,QT开发经验,qt,ui,开发语言)