Russian Qt Forum
Сентябрь 28, 2024, 16:24 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: как менять фокус для нескольких QLineEdit?  (Прочитано 3461 раз)
lisarden
Гость
« : Апрель 01, 2011, 20:07 »

Всем привет!

у меня дейвайс, на котором физически есть только кнопки-стрелки (курсор) и нет TAB. Как перемещаться по нескольким QLIneEdit только с помощью курсора?

Я так понимаю, что надо что-то переопределить, но что?

признателен за любые советы!
Записан
madRoger
Гость
« Ответ #1 : Апрель 01, 2011, 20:28 »

Нужно создать класс-потомок от QLineEdit и переопределить в нем событие keyPressEvent. Или реализовать eventFilter и установить его для класса.
В keyPressEvent или eventFilter(смотря что реализовать) проверять нажатую клавишу:
Если это Down или Up - переход на поле вниз или вверх.
Если Left и курсор в начале поля(на 0 позиции) или Right и курсор в конце поля(после последнего символа) - переход на поле влево или вправо.
« Последнее редактирование: Апрель 01, 2011, 20:30 от madRoger » Записан
lisarden
Гость
« Ответ #2 : Апрель 01, 2011, 20:44 »

Спасибо за ответ!

попутно возник вопрос: перейти с одного QLIneEdit на другой? ПРобую setFocus, но не работает
Записан
madRoger
Гость
« Ответ #3 : Апрель 01, 2011, 21:08 »

Проверил все на компе. У меня все работает.

setFocus(Qt::OtherFocusReason);
Записан
lisarden
Гость
« Ответ #4 : Апрель 01, 2011, 21:20 »

с OtherFocusReason заработало! Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 21.