Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
Trisch |
26.12.2013, 9:36
Сообщение
#1
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: 0
|
А можно сделать так чтобы, в независимости от раскладки клавиатуры, в форму вводились только латинские символы?
|
|
|
|
|
l0rdex |
26.12.2013, 17:35
Сообщение
#2
|
|
Студент ![]() Группа: Новичок Сообщений: 10 Регистрация: 2.8.2013 Пользователь №: 3894 Спасибо сказали: 0 раз(а) Репутация: 0
|
Trisch, Хотя бы уточнил где вводить собираешься.
А вообще, я думаю можно проверять язык системмы и при начале ввода его заменять... |
|
|
|
|
Litkevich Yuriy |
26.12.2013, 18:49
Сообщение
#3
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(Trisch @ 26.12.2013, 11:36) Link в форму вводились только латинские символы? можно сделать фильтр событий на соответствующие виджеты.В фильтре ловить QKeyEvent, в нём смотреть, что возвращает его метод Link и сравнивать значение с константами Link (не забыв обрабатывать Link) |
|
|
|
|
Trisch |
26.12.2013, 19:12
Сообщение
#4
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: 0
|
Цитата(l0rdex @ 26.12.2013, 18:35) Link Trisch, Хотя бы уточнил где вводить собираешься. А вообще, я думаю можно проверять язык системмы и при начале ввода его заменять... Ну вводить символы собираюсь, к примеру, в QLineEdit. И как можно проверить и поменять язык системы? Цитата(Litkevich Yuriy @ 26.12.2013, 19:49) Link Цитата(Trisch @ 26.12.2013, 11:36) Link в форму вводились только латинские символы? можно сделать фильтр событий на соответствующие виджеты.В фильтре ловить QKeyEvent, в нём смотреть, что возвращает его метод Link и сравнивать значение с константами Link (не забыв обрабатывать Link) Если я правильно понял данным способом можно отфильтровать нужные символы, то-есть, если я буду пытаться ввести кириллические символы то вводится ничего не будет. Но мне надо чтобы при вводе с клавиатуры, к примеру "рщьу", на форме отображалось бы "home". |
|
|
|
|
Litkevich Yuriy |
26.12.2013, 19:53
Сообщение
#5
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(Trisch @ 26.12.2013, 21:12) Link данным способом можно отфильтровать нужные символы Нет, можно отфильтровать события.А вобработчике события ты волен делать всё что угодно. Поймав нажатие клавиши с русской буквой "Щ" (Qt::Key_O), ты вводишь в виджет латинскую букву "O", а возвращаешся из обработчика события со значением Истина (событие обработано и дальше его передавать не надо). Если же буква не попалась, то возвращаешь Ложь (пусть получатель события сам разруливает остальные клавиши) |
|
|
|
|
Trisch |
29.12.2013, 14:03
Сообщение
#6
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: 0
|
У меня события фильтруются только если включена английская раскладка. В русской раскладке ничего не фильтруется
|
|
|
|
|
Litkevich Yuriy |
29.12.2013, 18:55
Сообщение
#7
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(Trisch @ 29.12.2013, 16:03) Link В русской раскладке ничего не фильтруется Первый раз такое слышу.приведи код (как устанавливаешь фильтр событий, как обрабатываешь). |
|
|
|
|
Trisch |
30.12.2013, 1:47
Сообщение
#8
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: 0
|
Вот код фильтра:
вот это пишу в конструкторе:
|
|
|
|
|
Litkevich Yuriy |
30.12.2013, 15:29
Сообщение
#9
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
у тебя в RegisrerNew::eventFilter(...) управление передаётся при русской раскладке?
|
|
|
|
|
Trisch |
30.12.2013, 17:21
Сообщение
#10
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: 0
|
Да, передается.
|
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 22.12.2025, 17:23 |