2013-04-04 4 views
5

Я ищу что-то вроде этого:Есть ли способ получить имя класса производного класса QObject без создания экземпляра этого класса?

MyClass::metaObject()->className()

, который не работает, потому что в точке, где выполняется этот код, не существует экземпляра MyClass.

Если это возможно, существует ли способ получить все имена классов, которые были получены из MyClass?

ответ

13

Используйте static meta object:

MyClass::staticMetaObject.className() 

работает!

+0

Как получить доступ к статическому метаобъекту для указателя? –

+2

@ TomášZato Просто используйте 'myClassInstance-> staticMetaObject(). ClassName()'. – rbaleksandar

+2

@ TomášZato На самом деле вы, вероятно, хотите использовать 'metaObject', а не' staticMetaObject', чтобы получить информацию о фактическом типе объекта, а не о типе указателя. –

Смежные вопросы