天天看點

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 宏

繼續閱讀