QT错误:[moc_***.cpp] Error 1

错误如下,

       解决这个错误花费了我一个小时,刚开始只看了红叹号对应的那句话,网上搜索找到的答案都不能实现,包括尝试过删除makefile,重新构建qmake。直到看到一个网友的评论,一语惊醒梦中人!要连着上一句来看:Class contains Q_OBJECT macro but does not inherit from QObject。这句话的意思是:类包含Q_OBJECT宏但是没有从QObject继承。

我的QObject是手动添加的,代码如下: 

#include <QObjet>
class manage{
             
             QOBJECT
              ......

我以为要继承是引入头文件即可(本人菜鸟,刚开始学,懂得很少)。

代码正确写法如下:

#include <QObject>

class manage:public QObject
{
   Q_OBJECT
   ....

需要在class之后加:public QObject 才能继承!

(我的代码不包含UI界面)

(注意:如果是新建的.cpp和.h文件,想使用信号与槽,则必须添加QOBJECT,否则会出现错误:Class declaration lacks Q_OBJECT macro.

猜你喜欢

转载自blog.csdn.net/qiujin000/article/details/128372548
今日推荐