Testamento de unidade QT: Falha na segmentação Qtestlib
-
26-09-2019 - |
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...
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