J'écris une application de test qui simule les appuis d'une autre application. Pour chaque pression sur une touche, je dois vérifier si la fenêtre/le formulaire de droite est affiché. Donc, ce que je fais est d'obtenir le pointeur de la fenêtre affichée et obtenir son titre de fenêtre. Cependant, toutes les fenêtres/formulaires ne montrent pas les titres de fenêtre. Je pense donc qu'il vaudrait mieux avoir le nom de la classe à la place. Comment puis-je obtenir le nom de la classe?
QWidget *pWin = QApplication::activeWindow();
quand j'essaye:
pWin->className();
pour obtenir le nom de la classe, je reçois:
"erreur: la classe QWidget n'a pas de membre nommé 'className'"
Quelqu'un peut-il me montrer le bon chemin?
Essayez d’utiliser le métaobjet .
pWin->metaObject()->className();
Vous pouvez également vérifier l'en-tête typeinfo. En utilisant l'opérateur typeid sur votre objet, vous obtenez une instance type_info qui décrit le type de votre objet. Départ: http://www.cplusplus.com/reference/std/typeinfo/type_info/