Pergunta

Estou escrevendo um aplicativo de teste que testaria se o formulário exibido for o formulário correto. Isso é depois de pressionar uma tecla em um menu. Aqui está um bloco de código em que estou recebendo uma falha de segmentação.

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")); 

Perguntas:

  • É realmente possível obter a janela atualmente ativa quando você está apenas simulando pressionamentos de teclas?
  • Estou recebendo um ponteiro nulo ao usar o ActiveWindow, existe de alguma forma que você possa obter o identificador da janela que deveria aparecer na tela em um KeyPress?

Obrigado...

Foi útil?

Solução

Frank estava certo. A janela não foi acitivada de maneira síncrona. Adicionando um atraso que é um parâmetro do KeyPress resolveu o problema. Obrigado Frank!

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