Вопрос

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

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

Я в замешательстве.Может ли кто-нибудь сказать мне, когда лучше всего использовать keyRelease?

Это было полезно?

Решение

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top