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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Борьба с фокусом  (Прочитано 2767 раз)
StogovOleg
Гость
« : Сентябрь 23, 2007, 10:17 »

Доброго всем времени суток.

Разрабатываю плугин (qt3.3.3) для ввода числового значения с контролем его принадлежности заданным (нескольким) допустимым диапазонам.
При вводе значения не вошедшего ни в один диапазон нужно запретить выход из компоненты (т.е. работу со всеми остальными элементами интерфейса). В слоте, соединенным с сигналом LostFocus, проверяю допустимость введенного значения и в случае недопустимости делаю this->setFocus().
Это не позволяет перейти в QLineEdit, но при этом разрешает нажатие кнопок на форме, раскрытие списков комбобоксов и выбор их элементов, переход по закладкам QTabWidget ..., и соответственно отрабатывает код их слотов.
Как локализовать компонент в случае недопустимого введенного значения?
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #1 : Сентябрь 23, 2007, 19:08 »

Может чем-то поможет QWidget::grabMouse()

Цитировать
Grabs the mouse input.
This widget receives all mouse events until releaseMouse() is called; other widgets get no mouse events at all. Keyboard events are not affected. Use grabKeyboard() if you want to grab that.

и QWidget::grabKeyboard()

Цитировать
Grabs the keyboard input.
This widget reveives all keyboard events until releaseKeyboard() is called; other widgets get no keyboard events at all. Mouse events are not affected. Use grabMouse() if you want to grab that.
The focus widget is not affected, except that it doesn't receive any keyboard events. setFocus() moves the focus as usual, but the new focus widget receives keyboard events only after releaseKeyboard() is called.
If a different widget is currently grabbing keyboard input, that widget's grab is released first.
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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