宏只是意味着它Q_OBJECT实际上是一个C++宏.它定义在src/corelib/kernel/qobjectdefs.h和定义中
#define Q_OBJECT \
public: \
Q_OBJECT_CHECK \
static const QMetaObject staticMetaObject; \
Q_OBJECT_GETSTATICMETAOBJECT \
virtual const QMetaObject *metaObject() const; \
virtual void *qt_metacast(const char *); \
QT_TR_FUNCTIONS \
virtual int qt_metacall(QMetaObject::Call, int, void **); \
private:
Run Code Online (Sandbox Code Playgroud)
Q_OBJECT_CHECK如果Q_OBJECT宏已在类中使用,则是另一个用于检查的宏.其他表达式定义信号/槽机制以及翻译的元对象和实用方法.