环境:vs2019 + Qt 5.12.5
先描述一下自己遇到的问题,自己使用 VS 建立了一个 Qt 工程,后来项目需要,就针对研究内容做了个界面。刚做好界面时,使用起来也没有任何问题,后来不知道怎么回事,突然就报错了,报错内容如下图所示:
大概意思就是说在使用槽函数的过程中出现了 未定义标识符"qFlagLocation" ,在网上搜了一通可以说是没有找到任何相关的内容;大概花了一上午的时间最终得以解决!!!
解决办法如下:
1、问题根源
首先是 “CTRL + 鼠标左击” 跳转到 SIGNAL 宏定义的地方,如下图所示;
从上图中我们可以看到从 267—271 行字体是灰色的,这也正是造成 未定义标识符"qFlagLocation" 的根源,我的理解是灰色字体在宏定义的过程中无效,也即造成了 槽函数(SLOT)和信号(SIGNAL)的宏定义无效,最终导致槽函数和信号无法使用;
2、解决办法
把 266、267、269 三行注释掉即可,在注释掉该三行后,267—271 的灰色字体立马高亮,如下图所示;
在注释掉上述三行代码之后,SIGNAL 的报错就消失了!!!
问题到此解决!!!