Случай Qt :: Key_F9 реализуется, даже когда я пу sh Key_F10 или Key_F11 - PullRequest
0 голосов
/ 25 февраля 2020

Я столкнулся с довольно странным сценарием, где я использую клавиши QT для реализации некоторых функций, но даже после разделения их на разные случаи (для F9, F10 и F11) всякий раз, когда я нажимаю F10 или F11, происходит сначала в F9 (реализует KeyF9 ()), а затем реализует свою собственную функцию перспективы (KeyF10 () / KeyF11 ()).

if ((e->key() & Qt::Key_F9) == Qt::Key_F9)
    KeyF9();
if ((e->key() & Qt::Key_F10) == Qt::Key_F10)
    KeyF10();
if ((e->key() & Qt::Key_F11) == Qt::Key_F11)
    KeyF11();

Кто-нибудь сталкивался с подобной ситуацией, пожалуйста, помогите мне. Заранее спасибо.

1 Ответ

2 голосов
/ 25 февраля 2020

Вы не должны использовать перечисление Qt :: key как маски, потому что это не так.

if(e->key()  == Qt::Key_F9)
    KeyF9();

будет в порядке.

...