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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Tab order с учётом фреймов  (Прочитано 4243 раз)
DarkHobbit
Самовар
**
Offline Offline

Сообщений: 189


Просмотр профиля
« : Май 08, 2019, 11:21 »

Добрый день.

Имеется программа с некоторым количеством хитрых диалогов. Хитрость состоит в том, что у них есть одинаковая часть, сделанная дизайнером. И помимо обычных полей ввода там есть фрейм для вставки переменной части. Переменная часть - это ещё один фрейм с уже специфическими полями, который вставляется программно (возможно, даже из загруженного динамически плагина).
Теперь надо выстроить порядок обхода элементов. И в диалоге, и во вставляемом из отдельного элемента фрейме порядок обхода настроен. Когда пользователь начинает нажимать Tab, все поля из постоянной части обходятся, когда дело доходит до фрейма, фокус перескакивает на кнопки внизу окна, хотя по Tab order они идут после фрейма. (У фрейма focus policy выставлена в WheelFocus.) И только после кнопок управление возвращается на элементы фрейма.

Можно с этим что-то сделать? Может, попробовать переупорядочить их в программе сплошняком и вызывать QWidget::setTabOrder(w1, w2), если у w1 родителем является сам диалог, а у w2 - дочерний фрейм? Но корректно ли вызывать setTabOrder для виджетов из разных уровней иерархии? В документации я этот момент не нашёл...
Записан

Мои проекты на Qt: DoubleContact, LInvert
DarkHobbit
Самовар
**
Offline Offline

Сообщений: 189


Просмотр профиля
« Ответ #1 : Декабрь 18, 2019, 01:10 »

Вопрос, кстати, по-прежнему актуален. Грустный
Записан

Мои проекты на Qt: DoubleContact, LInvert
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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