Pergunta

Estou escrevendo um aplicativo de teste que testa outro aplicativo com um monte de menus. Eu simulado teclas pressionando usando Qt :: KeyPress. No entanto, em algum momento, ele não aceita mais as teclas, até que soube que você precisa usar o keyrelease também (de acordo com a documentação que foi um pouco vaga para mim, diz "Nota: em algum momento você deve liberar a chave usando keyrelease (). "--- mas quando? Depois de cada KeyPress?)

Chamar um keyrelease depois que cada teclado também simula um KeyPress, o que é estranho. Chamando o keyrelease uma vez após a primeira chamada do KeyPress, fez o restante dos teclas funcionar e as teclas restantes não funcionavam.

Estou confuso. Alguém pode me dizer quando é o momento adequado para usar o keyrelease?

Foi útil?

Solução

QTest::keyPress simula um usuário pressionando uma tecla, enquanto QTest::keyRelease Simula um usuário liberando uma chave.

Depois de pressionar uma tecla, você deve liberá -la, caso contrário, é como se a tecla ainda estivesse pressionada. Sim, você precisa ligar QTest::keyRelease depois de qualquer QTest::keyPress ligar.

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