我想在程序中使用信号和插槽,为此,我被告知Ineed如下添加Q_OBJECT。
好吧,我有一堂课:
class A
{
Q_OBJECT
public:
A();
};
Run Code Online (Sandbox Code Playgroud)
这给出一个错误,指出“ Q_OBJECT没有命名类型”。如果我不加#include它给出错误“对A的vtable的未定义引用”
那么正确的方法是什么呢?
该Q_OBJECT
宏用于QObject
(或其他子类)的子类。如果您希望您的班级使用信号和插槽,这也是必需的。
class A
: public QObject
{
Q_OBJECT
public:
A(QObject *parent = 0);
};
Run Code Online (Sandbox Code Playgroud)
Q_OBJECT宏必须出现在类定义的专用部分中,该类声明其自身的信号和插槽或使用Qt的元对象系统提供的其他服务。
...
注意:
此宏要求该类是QObject的子类。...
归档时间: |
|
查看次数: |
2933 次 |
最近记录: |