有没有办法获取QObject派生类的类名而不创建该类的实例化?

Mar*_*arc 6 c++ qt metaobject

我正在寻找这样的东西:

MyClass::metaObject()->className()

这不起作用,因为在执行此代码时,不存在MyClass的实例化.

如果这在某种程度上是可能的,有没有办法获得从MyClass派生的所有类的名称?

Ben*_*ela 15

使用静态元对象:

 MyClass::staticMetaObject.className()
Run Code Online (Sandbox Code Playgroud)

作品!

  • @TomášZato实际上,您可能希望使用`metaObject`而不是`staticMetaObject`来获取有关对象的实际类型而不是指针类型的信息. (5认同)
  • @TomášZato只需使用`myClassInstance-> staticMetaObject().className()`. (3认同)

Han*_*ans 5

您应该能够使用:

obj->metaObject()->className();
Run Code Online (Sandbox Code Playgroud)