Вопрос:Когда использовать QT::keyRelease
-
27-09-2019 - |
Вопрос
Я пишу тестовое приложение, которое тестирует другое приложение с кучей меню.Я имитирую нажатия клавиш с помощью QT::keyPress.Однако в какой-то момент он больше не принимает нажатия клавиш, пока я не узнал, что вам также нужно использовать keyRelease (согласно документации, которая была для меня немного расплывчатой, там написано: «Примечание:В какой-то момент вам следует отпустить ключ с помощью keyRelease()." --- но когда?сразу после каждого нажатия клавиши?)
Вызов keyRelease после каждого нажатия клавиши также имитирует нажатие клавиши, что странно.Вызов keyRelease один раз после самого первого вызова keyPress заставил остальные нажатия клавиш работать, а остальные нажатия клавиш не работали.
Я в замешательстве.Может ли кто-нибудь сказать мне, когда лучше всего использовать keyRelease?
Решение
QTest::keyPress
имитирует нажатие пользователем клавиши, в то время как QTest::keyRelease
имитирует отпускание клавиши пользователем.
После того, как вы нажали клавишу, ее следует отпустить, иначе это как если бы клавиша все еще была нажата.Да, вам нужно позвонить QTest::keyRelease
после любого QTest::keyPress
вызов.