Russian Qt Forum
Сентябрь 28, 2024, 16:29
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
как менять фокус для нескольких QLineEdit?
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: как менять фокус для нескольких QLineEdit? (Прочитано 3464 раз)
lisarden
Гость
как менять фокус для нескольких QLineEdit?
«
:
Апрель 01, 2011, 20:07 »
Всем привет!
у меня дейвайс, на котором физически есть только кнопки-стрелки (курсор) и нет TAB. Как перемещаться по нескольким QLIneEdit только с помощью курсора?
Я так понимаю, что надо что-то переопределить, но что?
признателен за любые советы!
Записан
madRoger
Гость
Re: как менять фокус для нескольких QLineEdit?
«
Ответ #1 :
Апрель 01, 2011, 20:28 »
Нужно создать класс-потомок от QLineEdit и переопределить в нем событие keyPressEvent. Или реализовать eventFilter и установить его для класса.
В keyPressEvent или eventFilter(смотря что реализовать) проверять нажатую клавишу:
Если это Down или Up - переход на поле вниз или вверх.
Если Left и курсор в начале поля(на 0 позиции) или Right и курсор в конце поля(после последнего символа) - переход на поле влево или вправо.
«
Последнее редактирование: Апрель 01, 2011, 20:30 от madRoger
»
Записан
lisarden
Гость
Re: как менять фокус для нескольких QLineEdit?
«
Ответ #2 :
Апрель 01, 2011, 20:44 »
Спасибо за ответ!
попутно возник вопрос: перейти с одного QLIneEdit на другой? ПРобую setFocus, но не работает
Записан
madRoger
Гость
Re: как менять фокус для нескольких QLineEdit?
«
Ответ #3 :
Апрель 01, 2011, 21:08 »
Проверил все на компе. У меня все работает.
setFocus(Qt::OtherFocusReason);
Записан
lisarden
Гость
Re: как менять фокус для нескольких QLineEdit?
«
Ответ #4 :
Апрель 01, 2011, 21:20 »
с OtherFocusReason заработало!
Записан
Страниц: [
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...