QT: когда использовать QT::keyRelease

Я пишу тестовое приложение, которое тестирует другое приложение с кучей меню. Я имитирую нажатия клавиш с помощью QT::keyPress. Однако, в какой-то момент он больше не принимает keyPress, пока я не узнал, что вам нужно также использовать keyRelease (в соответствии с документацией, которая была для меня немного неопределенной, он говорит: "Примечание: В какой-то момент вы должны отпустить ключ, используя keyRelease()." --- но когда? сразу после каждого нажатия клавиши?)

Вызов keyRelease после каждого нажатия клавиши также имитирует нажатие клавиши, что странно. Вызов keyRelease один раз после самого первого вызова keyPress, заставил остальные keyPress работать, а оставшиеся keyPress не работают.

Я не совсем понимаю. Может кто-нибудь сказать мне, когда подходящее время использовать keyRelease?

1 ответ

Решение

QTest::keyPress имитирует нажатие клавиши пользователем, в то время как QTest::keyRelease имитирует пользователя, отпускающего ключ.

После того, как вы нажмете клавишу, вы должны отпустить ее, в противном случае это все равно, если клавиша все еще нажата. Да нужно позвонить QTest::keyRelease после любого QTest::keyPress вызов.

Другие вопросы по тегам