只有继承了QObject类或QObject的子类,才具有信号槽的能力。
class A: public QObject
{
Q_OBJECT
public:
A();
virtual ~A();
signals:
void Signal_Function();
public slots:
void Slot_Function();
};
继承了QObject类或QObject的类,都应该在第一行代码写上Q_OBJECT。
如果你最开始没有加,编译后又加了,就会出现错
undefined reference to `vtable for A::Signal_Function'
undefined reference to `vtable for A::Slot_Function'
这个时候删除所有编译产生的文件,然后重新构建和编译(注意:只是点击重新构建按钮是不行的)