![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Trisch |
![]()
Сообщение
#1
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: ![]() ![]() ![]() |
А можно сделать так чтобы, в независимости от раскладки клавиатуры, в форму вводились только латинские символы?
|
|
|
l0rdex |
![]()
Сообщение
#2
|
Студент ![]() Группа: Новичок Сообщений: 10 Регистрация: 2.8.2013 Пользователь №: 3894 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Trisch, Хотя бы уточнил где вводить собираешься.
А вообще, я думаю можно проверять язык системмы и при начале ввода его заменять... |
|
|
Litkevich Yuriy |
![]()
Сообщение
#3
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
в форму вводились только латинские символы? можно сделать фильтр событий на соответствующие виджеты.В фильтре ловить QKeyEvent, в нём смотреть, что возвращает его метод int QKeyEvent::key () const и сравнивать значение с константами Qt::Key (не забыв обрабатывать enum Qt::KeyboardModifier) |
|
|
Trisch |
![]()
Сообщение
#4
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: ![]() ![]() ![]() |
Trisch, Хотя бы уточнил где вводить собираешься. А вообще, я думаю можно проверять язык системмы и при начале ввода его заменять... Ну вводить символы собираюсь, к примеру, в QLineEdit. И как можно проверить и поменять язык системы? в форму вводились только латинские символы? можно сделать фильтр событий на соответствующие виджеты.В фильтре ловить QKeyEvent, в нём смотреть, что возвращает его метод int QKeyEvent::key () const и сравнивать значение с константами Qt::Key (не забыв обрабатывать enum Qt::KeyboardModifier) Если я правильно понял данным способом можно отфильтровать нужные символы, то-есть, если я буду пытаться ввести кириллические символы то вводится ничего не будет. Но мне надо чтобы при вводе с клавиатуры, к примеру "рщьу", на форме отображалось бы "home". |
|
|
Litkevich Yuriy |
![]()
Сообщение
#5
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
данным способом можно отфильтровать нужные символы Нет, можно отфильтровать события.А вобработчике события ты волен делать всё что угодно. Поймав нажатие клавиши с русской буквой "Щ" (Qt::Key_O), ты вводишь в виджет латинскую букву "O", а возвращаешся из обработчика события со значением Истина (событие обработано и дальше его передавать не надо). Если же буква не попалась, то возвращаешь Ложь (пусть получатель события сам разруливает остальные клавиши) |
|
|
Trisch |
![]()
Сообщение
#6
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: ![]() ![]() ![]() |
У меня события фильтруются только если включена английская раскладка. В русской раскладке ничего не фильтруется
![]() |
|
|
Litkevich Yuriy |
![]()
Сообщение
#7
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Trisch |
![]()
Сообщение
#8
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: ![]() ![]() ![]() |
Вот код фильтра:
вот это пишу в конструкторе:
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#9
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
у тебя в RegisrerNew::eventFilter(...) управление передаётся при русской раскладке?
|
|
|
Trisch |
![]()
Сообщение
#10
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: ![]() ![]() ![]() |
Да, передается.
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 30.5.2025, 6:07 |