Qt 之未定义标识符“qFlagLocation“解决办法

简介: Qt 之未定义标识符“qFlagLocation“解决办法

环境:vs2019 + Qt 5.12.5

       先描述一下自己遇到的问题,自己使用 VS 建立了一个 Qt 工程,后来项目需要,就针对研究内容做了个界面。刚做好界面时,使用起来也没有任何问题,后来不知道怎么回事,突然就报错了,报错内容如下图所示:

04c7701b8ba64b32b6a8a47ca838b88f.png


大概意思就是说在使用槽函数的过程中出现了  未定义标识符"qFlagLocation" ,在网上搜了一通可以说是没有找到任何相关的内容;大概花了一上午的时间最终得以解决!!!


解决办法如下:        


1、问题根源


       首先是 “CTRL + 鼠标左击” 跳转到 SIGNAL 宏定义的地方,如下图所示;

8c6c4230aae24731b155f0dfddd277e6.png

 从上图中我们可以看到从 267—271 行字体是灰色的,这也正是造成 未定义标识符"qFlagLocation" 的根源,我的理解是灰色字体在宏定义的过程中无效,也即造成了 槽函数(SLOT)和信号(SIGNAL)的宏定义无效,最终导致槽函数和信号无法使用;


2、解决办法


       把 266、267、269 三行注释掉即可,在注释掉该三行后,267—271 的灰色字体立马高亮,如下图所示;

fad8f0d14b2d4cf49cf58ca2d24ff67d.png

在注释掉上述三行代码之后,SIGNAL 的报错就消失了!!!

image.png


问题到此解决!!!

相关文章
|
10月前
|
测试技术
QT --- VS2017+Qt5.12 编译报错【E2512 功能测试宏的参数必须是简单标识符 】的解决方法
QT --- VS2017+Qt5.12 编译报错【E2512 功能测试宏的参数必须是简单标识符 】的解决方法
281 0
|
5天前
|
算法 编译器 Linux
【Qt4 部署】ARM系统上使用Qt 4 进行开发的QWS 等环境变量部署
【Qt4 部署】ARM系统上使用Qt 4 进行开发的QWS 等环境变量部署
30 0
|
5天前
|
网络协议 C++
C++ Qt开发:QTcpSocket网络通信组件
`QTcpSocket`和`QTcpServer`是Qt中用于实现基于TCP(Transmission Control Protocol)通信的两个关键类。TCP是一种面向连接的协议,它提供可靠的、双向的、面向字节流的通信。这两个类允许Qt应用程序在网络上建立客户端和服务器之间的连接。Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用`QTcpSocket`组件实现基于TCP的网络通信功能。
49 8
C++ Qt开发:QTcpSocket网络通信组件
|
5天前
|
区块链
【qt】最快的开发界面效率——混合编程3
【qt】最快的开发界面效率——混合编程
15 1
|
5天前
【qt】最快的开发界面效率——混合编程2
【qt】最快的开发界面效率——混合编程
14 1
|
5天前
【qt】最快的开发界面效率——混合编程1
【qt】最快的开发界面效率——混合编程
17 0
|
5天前
|
开发框架 编译器 C++
Qt:一个强大的跨平台C++应用程序开发框架
Qt:一个强大的跨平台C++应用程序开发框架
36 1
|
5天前
|
开发框架 Linux C++
Qt:强大的跨平台C++应用程序开发框架
Qt:强大的跨平台C++应用程序开发框架
48 3
|
5天前
|
开发框架 数据可视化 编译器
Qt的魅力:探索跨平台图形界面开发之旅
Qt的魅力:探索跨平台图形界面开发之旅
33 1
|
5天前
|
图形学 Python 容器
【PyQt5桌面应用开发】3.Qt Designer快速入门(控件详解)
【PyQt5桌面应用开发】3.Qt Designer快速入门(控件详解)
60 0

推荐镜像

更多