天天看点

Qt开始1 Q_OBJECT宏简易化解释

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者有所帮助

上一篇: Q_OBJECT 宏

继续阅读