Название: как менять фокус для нескольких QLineEdit? Отправлено: lisarden от Апрель 01, 2011, 20:07 Всем привет!
у меня дейвайс, на котором физически есть только кнопки-стрелки (курсор) и нет TAB. Как перемещаться по нескольким QLIneEdit только с помощью курсора? Я так понимаю, что надо что-то переопределить, но что? признателен за любые советы! Название: Re: как менять фокус для нескольких QLineEdit? Отправлено: madRoger от Апрель 01, 2011, 20:28 Нужно создать класс-потомок от QLineEdit и переопределить в нем событие keyPressEvent. Или реализовать eventFilter и установить его для класса.
В keyPressEvent или eventFilter(смотря что реализовать) проверять нажатую клавишу: Если это Down или Up - переход на поле вниз или вверх. Если Left и курсор в начале поля(на 0 позиции) или Right и курсор в конце поля(после последнего символа) - переход на поле влево или вправо. Название: Re: как менять фокус для нескольких QLineEdit? Отправлено: lisarden от Апрель 01, 2011, 20:44 Спасибо за ответ!
попутно возник вопрос: перейти с одного QLIneEdit на другой? ПРобую setFocus, но не работает Название: Re: как менять фокус для нескольких QLineEdit? Отправлено: madRoger от Апрель 01, 2011, 21:08 Проверил все на компе. У меня все работает.
setFocus(Qt::OtherFocusReason); Название: Re: как менять фокус для нескольких QLineEdit? Отправлено: lisarden от Апрель 01, 2011, 21:20 с OtherFocusReason заработало! :)
|