QT: ottenere il nome della classe di un oggetto
-
27-09-2019 - |
Domanda
Sto scrivendo un'applicazione di test che simula la pressione dei tasti di un'altra applicazione. Per ogni pressione di un tasto che devo controllare se viene visualizzata la finestra / modulo a destra. Quindi quello che faccio è ottenere il puntatore della finestra viene mostrato e farlo di titolo della finestra. Tuttavia, non tutte le finestre / forme mostrati i titoli della finestra. Così sto pensando che sarebbe stato meglio per ottenere il nome della classe, invece. Come posso ottenere il nome della classe?
QWidget *pWin = QApplication::activeWindow();
quando provo:
pWin->className();
per ottenere il nome della classe, sto ottenendo:
"Errore: classe QWidget non ha alcun membro denominato 'className'"
Qualcuno mi può mostrare la strada giusta?
Soluzione
Provare a utilizzare il metaobject .
pWin->metaObject()->className();
Altri suggerimenti
Si potrebbe anche verificare l'intestazione typeinfo. Utilizzando l'operatore typeid su di voi oggetto che si ottiene un'istanza type_info che descrive il tipo di oggetto. Partenza: http://www.cplusplus.com/reference/std/typeinfo/type_info /