2010-11-22 6 views
19

다른 응용 프로그램의 키 누르기를 시뮬레이트하는 테스트 응용 프로그램을 작성하고 있습니다. 모든 키를 누를 때마다 올바른 창/양식이 표시되는지 확인해야합니다. 그래서 내가하는 것은 윈도우의 포인터를 보여주고 윈도우 타이틀을 얻는 것입니다. 그러나 모든 창/양식이 창 제목을 표시하는 것은 아닙니다. 그래서 나는 대신 클래스의 이름을 얻는 것이 더 나을 것이라고 생각하고 있습니다. 내가 수업의 이름을 어떻게 얻었 니?QT : 객체의 클래스 이름을 얻으십시오.

QWidget *pWin = QApplication::activeWindow(); 

, 내가

가지고있어 내가 클래스의 이름을 가져

pWin->className(); 

을하려고하면

"오류 클래스는 QWidget은 '클래스 이름'라는 이름의 멤버가 없습니다" 누군가 제게 올바른 길을 보여줄 수 있습니까?

답변

42

metaobject을 사용해보세요.

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