【问题标题】:Why does staticMetaObject.className() return the class name of the parent class?为什么 staticMetaObject.className() 返回父类的类名?
【发布时间】:2023-03-14 14:27:02
【问题描述】:

我有一个派生自“单位”类的“默认”类,当我这样做时:

Default::staticMetaObject.className())

它返回Units 而不是Default。这是为什么?我该如何解决这个问题?

【问题讨论】:

  • 这通常发生在您忘记将Q_OBJECT 放入派生类时。
  • 谢谢。这确实解决了问题:-)

标签: c++ classname metaobject


【解决方案1】:

将我的评论变成答案。

这通常发生在您忘记将宏 Q_OBJECT 放入派生类时。

从 Qt 的元类型系统的角度来看,该类与它的父类无法区分(即,与内部确实有 Q_OBJECT 的最近的父类)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    • 2019-09-05
    • 1970-01-01
    • 2016-09-08
    相关资源
    最近更新 更多