Diálogo modal de teste com Qt Test

Estou tentando escrever um teste de unidade para um aplicativo GUI usando o QTestLib. O problema é que um dos slots cria uma caixa de diálogo modal usandoexec() e não encontrei a possibilidade de interagir com a caixa de diálog

Os slots que criam a caixa de diálogo estão conectados a um QAction. Portanto, o primeiro problema é que o teste é bloqueado quando eu aciono o QAction no teste, pois isso resulta na chamada paraexec(). Portanto, tentei criar um QThread que executa a interação. No entanto, isso não ajudou.

oisas que eu já tentei (todas executadas no segmento "auxiliar de interação"):

Enviar cliques nas teclas usandoQTest::keyClicks()Resultados na mensagem de erro "QCoreApplication :: sendEvent (): não é possível enviar eventos para objetos pertencentes a um segmento diferente"Post QKeyEvents usandoQCoreApplication::postEvent() Não funciona, ou seja, nada acontece. Eu acho que porque os eventos acabam no loop de eventos do segmento que possui o diálogo, que não será alcançado até que o diálogo seja fechado eexec() retorna. Veja a edição abaixoInvocar Slots na caixa de diálogo usandoQMetaObject::invokeMethod() Não funciona, ou seja, nada acontece. Eu acho que pelo mesmo motivo quepostEvent() não funciona. Veja a edição abaixo

A pergunta é: existe alguma maneira de interagir programaticamente com uma caixa de diálogo modal que foi aberta usando oexec() método?

Editar Na verdade, o método 3 está funcionando. O problema era diferente: passei os argumentos parainvokeMethod() para o segmento "auxiliar de interação" e, por algum motivo, acessar os argumentos não funcionou nesse segmento (não obtive erros de SEG, mas eles estavam vazios). Acho que o método 2 também está funcionando e simplesmente tive o mesmo problema do método 3, mas não testei iss

questionAnswers(8)

yourAnswerToTheQuestion