Pergunta

Estou escrevendo um aplicativo de teste que simula as pressões das teclas de outro aplicativo. Para cada pressionamento de teclas, tenho que verificar se a janela/formulário correta é mostrada. Então, o que eu faço é obter o ponteiro da janela sendo mostrado e obter o título da janela. No entanto, nem todas as janelas/formulários mostraram títulos de janelas. Então, acho que seria melhor obter o nome da classe. Como posso obter o nome da classe?

QWidget *pWin = QApplication::activeWindow();

Quando eu tento:

pWin->className(); 

Para obter o nome da classe, estou recebendo:

"Erro: a classe Qwidget não tem nenhum membro chamado 'ClassName'"

Alguém pode me mostrar o caminho certo?

Foi útil?

Solução

Tente usar o metaObject.

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

Outras dicas

Você também pode verificar o cabeçalho TypeInfo. Usando o operador TypeId em seu objeto, você obtém uma instância do tipo_info que descreve o tipo de seu objeto. Verificação de saída: http://www.cplusplus.com/reference/std/typeinfo/type_info/

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top