30

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

QWidget *pWin = QApplication::activeWindow();

当我尝试时:

pWin->className(); 

要获取班级的名称,我得到:

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

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

4

2 回答 2

63

尝试使用 元对象

pWin->metaObject()->className();  
于 2010-11-22T03:22:36.380 回答
0

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

于 2010-11-22T16:06:52.240 回答