C++ 宏和include的QObject错误

C++ 宏和include的QObject错误,c++,qt,qobject,C++,Qt,Qobject,我想在我的程序中使用信号和插槽,为此,我被告知添加Q_对象,如下所示 我有一门课: class A { Q_OBJECT public: A(); }; 这会产生一个错误,表示“Q_对象未命名类型”。如果我添加了#include,则给出错误“A的vtable的未定义引用” 那么正确的方法是什么呢?该Q_对象宏用于QObject的子类(或其他子类)。如果你想让你的类使用信号和插槽,它也是必需的 class A : public QObject { Q_OBJEC

我想在我的程序中使用信号和插槽,为此,我被告知添加Q_对象,如下所示

我有一门课:

class A
{
    Q_OBJECT
public:
    A();
};
这会产生一个错误,表示“Q_对象未命名类型”。如果我添加了#include,则给出错误“A的vtable的未定义引用”


那么正确的方法是什么呢?

Q_对象
宏用于
QObject
的子类(或其他子类)。如果你想让你的类使用信号和插槽,它也是必需的

class A 
    : public QObject
{
    Q_OBJECT

 public:
    A(QObject *parent = 0);
};

Q_对象宏必须出现在类的私有部分中 声明自己的信号和插槽或使用其他 Qt的元对象系统提供的服务。

注意:
此宏要求该类是QObject…的子类


好啊但由于某种原因,我无法让它工作。我忘了我的类是从QGraphicsItem继承的,当我添加Qobject作为超类时,它会保留vtable错误。没关系,它突然被解决了。我可能需要重建一切。