QT: Quando usar Qt :: keyrelease
-
27-09-2019 - |
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?
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.