Qt开始
Q_OBJECT是一个宏,那些类需要定义信号(signals)和槽(slots)添加Q_OBJECT宏,进行调用 Qt元对象系统(meta-object system)其他服务。
Eg:
#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;
};(注释:例子来自Qt帮助文件)
Qt元对象系统(meta-object system)简单说就是Qt中提供信号和槽的系统。
在类中带有Q_OBJECT宏就是告诉编译这些类都具有元对象的特征,然后你们这些类都能调用元对象中的服务,再简单说类似于#include 这个元对象系统的文件,只是包含在有Q_OBJECT 类中使用而已。
希望对初学Qt者有所帮助