Pergunta

Estou escrevendo um aplicativo de teste que simula pressionamentos de teclas e gostaria de obter qual janela é exibida após cada tecla pressiona. Aqui está o bloco de código.

std::auto_ptr<MyForm> pForm(new MyForm(3,3)); 
QTest::keyPress(pForm.get(), Qt::Key_0); 

Depois de pressionar 0 aqui, uma janela vai aparecer e eu gostaria de verificar qual a janela é para que eu pudesse qcompare/avaliá -la mais tarde.

Alguma ideia?

Atualizada:

Estou recebendo uma falha de segmentação quando uso

std::auto_ptr<MyForm> pForm(new MyForm(3,3)); 
QTest::keyPress(pForm.get(), Qt::Key_0); 
QWidget *pWin = QApplication::activeWindow();
QCOMPARE(pWin->windowTitle(), QString("My Second Menu"));
Foi útil?

Solução

Se todas as suas janelas foram criadas através do seu aplicativo, você pode usar o QApplication classe. Por exemplo, o activeWindow() A função retorna o widget que possui o foco de entrada. Mas há muitas outras funções que podem ajudá -lo.

espero que ajude

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