Название: QKeyEvent->key() и русская раскладка Отправлено: fulkabaster от Июнь 01, 2009, 17:20 Приложение реагирует на нажатие некоторых клавиш, например Q и S, перегрузил функцию keyPressEvent и в ней с помощью оператора switch определяю код клавиш. Если это Qt::Key_S и Qt::Key_Q, то делается что нужно. Все работает, только если раскладка включена английская. Если русская - не реагирует. Странно, код клавиши зависит от раскладки? Как быть, чтобы приложение работало при любой раскладке?
Название: Re: QKeyEvent->key() и русская раскладка Отправлено: Alex Custov от Июнь 01, 2009, 19:09 QKeyEvent::nativeScanCode() ?
Название: Re: QKeyEvent->key() и русская раскладка Отправлено: fulkabaster от Июнь 01, 2009, 19:40 что-то не могу понять, как она работает. В мануале описание скудное.
В операторе switch вместо QKeyEvent->key() прописал QKeyEvent->nativeScanCode(), и дальше указываю скан-коды клавиш Q и S (17 и 32, судя по http://www.barcodeman.com/altek/mule/scandoc.php). Не работает. Название: Re: QKeyEvent->key() и русская раскладка Отправлено: EhTemka от Июнь 02, 2009, 17:47 И похоже не будет... Тут обсуждалось немного http://www.prog.org.ru/topic_9056_0.html (http://www.prog.org.ru/topic_9056_0.html) Я столкнулся с подобной проблемой при установке горячих клавиш. Не работает под линуксом и под маком при русской раскладке. Под виндой все нормально. Общался на эту тему с троллями, сказали, что знают о проблеме, посоветовали пользоваться переводами. Сам пока не пробовал. Название: Re: QKeyEvent->key() и русская раскладка Отправлено: fulkabaster от Июнь 03, 2009, 07:19 У меня и в винде не работает, и в линуксе, под русской раскладкой.
При этом я юзаю шорткаты без Alt, т.е. просто буквенные клавиши жму. Не понимаю здесь логику троллей. Зачем было привязываться к раскладке... P.S. Что такое переводы? Название: Re: QKeyEvent->key() и русская раскладка Отправлено: lit-uriy от Июнь 03, 2009, 08:58 >>Что такое переводы?
Оберни горячие кнопки в функцию tr(); создай ts-файл для целевого языка; переведи его и сделай qm-файл загружай этот qm-файл в свою программу. Название: Re: QKeyEvent->key() и русская раскладка Отправлено: fulkabaster от Июнь 06, 2009, 14:56 Н-да, как-то сложновато будет, ради такой простой задачки. Неужели никак без переводов нельзя?
Почему-таки не получается с помощью QKeyEvent->nativeScanCode() ? Название: Re: QKeyEvent->key() и русская раскладка Отправлено: billy4685 от Февраль 05, 2015, 09:55 что-то не могу понять, как она работает. В мануале описание скудное. В операторе switch вместо QKeyEvent->key() прописал QKeyEvent->nativeScanCode(), и дальше указываю скан-коды клавиш Q и S (17 и 32, судя по http://www.barcodeman.com/altek/mule/scandoc.php). Не работает. У меня в Windows 7 qDebug() << QKeyEvent->nativeScanCode(); при нажатии на клавиши Q и S выдает соответственно код 16 и 31. Название: Re: QKeyEvent->key() и русская раскладка Отправлено: Bepec от Февраль 05, 2015, 10:52 Работайте под виндой и будет вам счастье :D
|