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