Q_OBJECT宏必须出现在类定义的私有部分,该类定义声明自己的信号和插槽,或者使用Qt的元对象系统提供的其它服务。
#include <QObject>
class Counter : public QObject
{
Q_OBJECT
public:
Counter() { m_value = 0; }
int value() const { return m_value; }
public slots:
void setValue(int value);
signals:
void valueChanged(int newValue);
private:
int m_value;
};
我们自己写的类 如果里面要实现 信号与槽 就要继承这个最基本的类,继承它儿子或孙子也可以。