当前位置: 代码迷 >> 综合 >> QT报错:error: static assertion failed: No Q_OBJECT in the class with the signal
  详细解决方案

QT报错:error: static assertion failed: No Q_OBJECT in the class with the signal

热度:66   发布时间:2023-11-27 15:29:38.0

今天利用QT写一个项目,在写代码的过程中,使用到了QT中一大特色【信号和槽】,对这个也是刚刚学习阶段,所以在这里遇到了一个问题:

error: static assertion failed: No Q_OBJECT in the class with the
signal # define Q_STATIC_ASSERT_X(Condition, Message)
static_assert(bool(Condition), Message)

其实这个问题主要是说明没有使用Q_OBJECT

主界面(我使用QMainWindows)是有这个关键字的,所以我以为是我没有继承QObject的问题,后来查资料得知,QMainWindows是继承QObject的,所以问题不在主界面上了。然后又是去论坛官网找资料,终于找到问题了,原来是发送信号的类没有带上Q_OBJECT,在发送信号的类和接收信号的类的头文件中加上Q_OBJECT,然后重新构建。

  相关解决方案