为啥 staticMetaObject.className() 返回父类的类名?
Posted
技术标签:
【中文标题】为啥 staticMetaObject.className() 返回父类的类名?【英文标题】:Why does staticMetaObject.className() return the class name of the parent class?为什么 staticMetaObject.className() 返回父类的类名? 【发布时间】:2013-03-26 12:44:24 【问题描述】:我有一个派生自“单位”类的“默认”类,当我这样做时:
Default::staticMetaObject.className())
它返回Units
而不是Default
。这是为什么?我该如何解决这个问题?
【问题讨论】:
这通常发生在您忘记将Q_OBJECT
放入派生类时。
谢谢。这确实解决了问题:-)
【参考方案1】:
将我的评论变成答案。
这通常发生在您忘记将宏 Q_OBJECT
放入派生类时。
从 Qt 的元类型系统的角度来看,该类与它的父类无法区分(即,与内部确实有 Q_OBJECT
的最近的父类)。
【讨论】:
以上是关于为啥 staticMetaObject.className() 返回父类的类名?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 DataGridView 上的 DoubleBuffered 属性默认为 false,为啥它受到保护?