Russian Qt Forum
Ноябрь 27, 2024, 14:15
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
QKeyEvent->key() и русская раскладка
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: QKeyEvent->key() и русская раскладка (Прочитано 10134 раз)
fulkabaster
Гость
QKeyEvent->key() и русская раскладка
«
:
Июнь 01, 2009, 17:20 »
Приложение реагирует на нажатие некоторых клавиш, например Q и S, перегрузил функцию keyPressEvent и в ней с помощью оператора switch определяю код клавиш. Если это Qt::Key_S и Qt::Key_Q, то делается что нужно. Все работает, только если раскладка включена английская. Если русская - не реагирует. Странно, код клавиши зависит от раскладки? Как быть, чтобы приложение работало при любой раскладке?
Записан
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: QKeyEvent->key() и русская раскладка
«
Ответ #1 :
Июнь 01, 2009, 19:09 »
QKeyEvent::nativeScanCode() ?
Записан
fulkabaster
Гость
Re: QKeyEvent->key() и русская раскладка
«
Ответ #2 :
Июнь 01, 2009, 19:40 »
что-то не могу понять, как она работает. В мануале описание скудное.
В операторе switch вместо QKeyEvent->key() прописал QKeyEvent->nativeScanCode(), и дальше указываю скан-коды клавиш Q и S (17 и 32, судя по
http://www.barcodeman.com/altek/mule/scandoc.php
). Не работает.
Записан
EhTemka
Гость
Re: QKeyEvent->key() и русская раскладка
«
Ответ #3 :
Июнь 02, 2009, 17:47 »
И похоже не будет...
Тут обсуждалось немного
http://www.prog.org.ru/topic_9056_0.html
Я столкнулся с подобной проблемой при установке горячих клавиш. Не работает под линуксом и под маком при русской раскладке. Под виндой все нормально. Общался на эту тему с троллями, сказали, что знают о проблеме, посоветовали пользоваться переводами. Сам пока не пробовал.
Записан
fulkabaster
Гость
Re: QKeyEvent->key() и русская раскладка
«
Ответ #4 :
Июнь 03, 2009, 07:19 »
У меня и в винде не работает, и в линуксе, под русской раскладкой.
При этом я юзаю шорткаты без Alt, т.е. просто буквенные клавиши жму.
Не понимаю здесь логику троллей. Зачем было привязываться к раскладке...
P.S.
Что такое переводы?
Записан
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: QKeyEvent->key() и русская раскладка
«
Ответ #5 :
Июнь 03, 2009, 08:58 »
>>Что такое переводы?
Оберни горячие кнопки в функцию tr();
создай ts-файл для целевого языка;
переведи его и сделай qm-файл
загружай этот qm-файл в свою программу.
Записан
Юра.
fulkabaster
Гость
Re: QKeyEvent->key() и русская раскладка
«
Ответ #6 :
Июнь 06, 2009, 14:56 »
Н-да, как-то сложновато будет, ради такой простой задачки. Неужели никак без переводов нельзя?
Почему-таки не получается с помощью QKeyEvent->nativeScanCode() ?
Записан
billy4685
Крякер
Offline
Сообщений: 306
Re: QKeyEvent->key() и русская раскладка
«
Ответ #7 :
Февраль 05, 2015, 09:55 »
Цитата: fulkabaster от Июнь 01, 2009, 19:40
что-то не могу понять, как она работает. В мануале описание скудное.
В операторе 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.
Записан
Bepec
Гость
Re: QKeyEvent->key() и русская раскладка
«
Ответ #8 :
Февраль 05, 2015, 10:52 »
Работайте под виндой и будет вам счастье
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...