关于自定义控件,头文件找不到问题的解决办法

在ui文件中使用控件提升的时候,突然发现ui_xxxx.h竟然报错了,

这在之前是没有碰到过,苦思过后认为是环境变量的问题,因为现在正在用的构建套件是 mingw的,但在此之前我一直用的是msvc,并且环境变量的配置也是MSVC,如图:

于是带着尝试的态度,将环境变量改为mingw的,再次打开QtCreator,发现结果还是一样,仍然报错。

再到后来根据GPT的说法,尝试将头文件的路径改为绝对路径。留下:

#include "F:\code_review\Qt-WorkSpace\fight\KuGouApp\GLTabWidget.h"

现在确实没有报错,但新的问题是这个路径仅仅能在自己的电脑上使用,这就很不方便。必须要使用相对路径

#include "./../../../../GLTabWidget.h"

这样也没有报错,能够成功运行,但是这样不够美观。

经过网上查找证明需要在CMake文件中添加头文件目录 ,在CMake中添加下面这段就可以解决了。

INCLUDE_DIRECTORIES(
${PROJECT_SOURCE_DIR}
)

出现问题的原因是Qt creator通过ui文件生成的程序和存放头文件的目录不在一起,但是生成的程序里会在生成目录下找头文件,所以肯定是找不到的。

相关推荐
羊小猪~~4 小时前
【QT】-- QT基础类
开发语言·c++·后端·stm32·单片机·qt
起个名字费劲死了5 小时前
QT 学习:协同开发的程序如何汇总到主程序
qt
资深流水灯工程师7 小时前
基于Python的Qt开发之Pyside6 QtSerialPort库的使用
python·qt
一只小bit7 小时前
Qt 对话框全方面详解,包含示例与解析
前端·c++·qt·cpp·页面
SunkingYang7 小时前
QT中QStringList如何查找指定字符串,有哪些方式?
qt·字符串·查找·子串·qstringlist
牵牛老人8 小时前
Qt后端开发遇到跨域问题终极解决方案 与 Nginx反向代理全解析
qt·nginx·状态模式
hqwest8 小时前
码上通QT实战32--报警页面02-触发报警条件
开发语言·qt·传感器采集·温度报警·湿度报警·亮度报警·阈值判定
牵牛老人8 小时前
Windows下安装Qt后再添加或移除Qt组件需要组件的有效资料档案库如何处理
开发语言·windows·qt
SunkingYang8 小时前
QT编译报错:提示Qt::SkipEmptyParts在Qt命名空间中找不到成员
qt·报错·命名空间·编译报错·skipemptyparts·no member named·in namespace qt
SunkingYang17 小时前
QT编译报错:使用Lambda表达式作为槽函数,报错‘xxx‘ in capture list does not name a variable
qt·list·报错·lambda表达式·槽函数·in capture list·does not name