Вопрос

Я пишу тестовое приложение, которое имитирует ключевые прессы другого приложения. Для каждого ключа нажмите, чтобы проверить, отображается ли правильное окно / форма. Итак, что я делаю, это получить указатель отображения окна и получить его заголовок окна. Однако не все окна / формы показаны заголовки окна. Так что я думаю, что было бы лучше получить имя класса вместо этого. Как я могу получить название класса?

QWidget *pWin = QApplication::activeWindow();

Когда я пытаюсь:

pWin->className(); 

Чтобы получить имя класса, я получаю:

«Ошибка: Class Qwidget не имеет члена имени« ClassName »»

Может кто-нибудь показать мне правильный путь?

Это было полезно?

Решение

Попробуйте использовать MetaObject..

pWin->metaObject()->className();  

Другие советы

Вы также можете проверить заголовок TypeInfo. Использование оператора Typeid на объекте вы получите экземпляр Type_info, который описывает тип вашего объекта. Проверить: http://www.cplusplus.com/Reeference/std/typeinfo/type_info/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top