QT:获取对象的类名

问题描述 投票:22回答:2

我正在写一个测试程序,模拟另一个应用程序的按键。对于每一个按键我要检查是否显示在右侧窗口/形式。所以我要做的就是让正在显示的窗口的指针,并得到它的窗口标题。然而,显示窗口标题不是所有的窗口/表格。所以我想这将是更好地得到类的名称来代替。我怎样才能获得类的名称?

QWidget *pWin = QApplication::activeWindow();

当我尝试:

pWin->className(); 

获取类的名字,我得到:

“错误:类QWidget中没有名为‘类名’成员”

有人能告诉我正确的方式?

unit-testing qt classname qtestlib
2个回答
51
投票

尝试使用metaobject

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

0
投票

你也可以检查所属类别头。使用typeid操作符你反对你得到它描述了对象的类型TYPE_INFO实例。退房:http://www.cplusplus.com/reference/std/typeinfo/type_info/

© www.soinside.com 2019 - 2024. All rights reserved.