QT:获取对象的类名

时间:2010-11-22 03:19:11

标签: unit-testing qt classname qtestlib

我正在编写一个模拟其他应用程序按键的测试应用程序。对于每次按键,我都要检查是否显示了正确的窗口/窗体。所以我所做的就是显示窗口的指针并获得它的窗口标题。但是,并非所有窗口/窗体都显示窗口标题。所以我认为最好得到类的名称。我怎样才能得到班级的名字?

QWidget *pWin = QApplication::activeWindow();

当我尝试:

pWin->className(); 

获取课程的名称,我得到了:

  

“错误:类QWidget没有名为'className'的成员”

有人能告诉我正确的方法吗?

2 个答案:

答案 0 :(得分:49)

尝试使用metaobject

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

答案 1 :(得分:0)

您还可以检查typeinfo标头。在对象上使用typeid运算符,您将获得一个描述对象类型的type_info实例。 查看:http://www.cplusplus.com/reference/std/typeinfo/type_info/