2

Qt,我们知道那Q_OBJECT是一个在这种情况下,宏是什么意思?特别是我发现这个词可能有几个不同的定义。

谢谢。

4

1 回答 1

8

只是意味着它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:

Q_OBJECT_CHECK是另一个用于检查Q_OBJECT宏是否已在类中使用的宏。其他表达式定义了信号/槽机制以及转换的元对象和实用方法。

于 2012-09-03T15:52:28.677 回答