Frage

Ich schreibe eine Test-Anwendung, die Tastendrücke von einer anderen Anwendung simuliert. Für jede Taste drücken muss ich überprüfen, ob das rechte Fenster / Form dargestellt ist. Also, was ich tun ist, bekommen die Zeiger des Fensters angezeigt wird und es Fenstertitel erhalten. Allerdings sind nicht alle Fenster / forms Fenstertitel angezeigt. Also ich denke, es wäre besser, stattdessen den Namen der Klasse zu erhalten. Wie kann ich den Namen der Klasse bekommen?

QWidget *pWin = QApplication::activeWindow();

, wenn ich versuche:

pWin->className(); 

den Namen der Klasse zu erhalten, erhalte ich:

  

"Fehler: Klasse QWidget hat kein Mitglied namens 'classname'"

zeigen Kann jemand mir den richtigen Weg?

War es hilfreich?

Lösung

Versuchen Sie es mit der Metaobjekt .

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

Andere Tipps

Sie können auch die Typeinfo-Header überprüfen. Mit Hilfe der Operator typeid auf Sie Sie eine type_info Instanz erhalten Objekt, das den Typ des Objekts beschreibt. Check out: http://www.cplusplus.com/reference/std/typeinfo/type_info /

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top