Q_PROPERTY 错误 'staticMetaObject' 中的用户类型不是 'blah' 的成员

User type in Q_PROPERTY error 'staticMetaObject' is not a member of 'blah'

我在命名空间中定义了一些数据类型 enum

我想使用 Q_PROPERTY,那会 return 数据类型...

但我得到错误:

'staticMetaObject' is not a member of 'blah'

看来,如果我想创建自己的类型,并在 Q_PROPERTY 中提到的函数中使用它们,它们必须在 class 继承 QObject 和声明 Q_OBJECT 宏?这不是很多开销吗?

还有其他选择吗?

也许您正在搜索 Q_GADGET?它为非 QObject 派生类型生成元数据。您可以在小工具中包含 Q_PROPERTYQ_INVOKABLE

是的,开销很大,如果您不需要 QObject,请不要使用它。开头好像是160字节。