Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Alex_C от Июнь 29, 2012, 13:26



Название: setTabOrder - как разрешить пользователю переопределять
Отправлено: Alex_C от Июнь 29, 2012, 13:26
Собственно вопрос такой - какую визуальную форму создать, чтобы пользователь мог задавать последовательность по Tab? В Дельфи просто указывался номер в очереди. Здесь же - предыдущий и следующий элементы.
Как вариант думал - QListWidget - со списком элементов обхода. Последовательность списка - последовательность обхода. Пользователь меняет последовательность списка - меняется последовательность обхода.
Может у кого какие лучше идеи есть?


Название: Re: setTabOrder - как разрешить пользователю переопределять
Отправлено: Пантер от Июнь 29, 2012, 13:37
Посмотри, как это в дизайнере сделано.


Название: Re: setTabOrder - как разрешить пользователю переопределять
Отправлено: Bepec от Июнь 29, 2012, 13:43
А можно суть задачи узнать?

PS нафига, а? :)


Название: Re: setTabOrder - как разрешить пользователю переопределять
Отправлено: Alex_C от Июль 02, 2012, 10:41
А можно суть задачи узнать?

Есть такие пользователи, которые любят все настраивать :)
Вот хочестся им, чтоб порядок следования едитов был один, а обходить их можно было как захочешь.


Название: Re: setTabOrder - как разрешить пользователю переопределять
Отправлено: Bepec от Июль 02, 2012, 10:52
Ну идея со списком самая простая - тупо переопределить лайнэдиты с releaseKey. Заэмиттить свой сигнал и гоу гоу гоу.

Хотяяя... чем tabOrder не устраивает?

Кнопачку или пунктик делаешь - изменить чегой то там.
Потом тупо ловишь нажатия на виджеты => получаешь их указатели => формируешь команду setTabOrder => профит.

м?


Название: Re: setTabOrder - как разрешить пользователю переопределять
Отправлено: Igors от Июль 02, 2012, 11:02
Есть такие пользователи, которые любят все настраивать :)
Вот хочестся им, чтоб порядок следования едитов был один, а обходить их можно было как захочешь.
Делаете модальный диалог в котором список контролов + кнопки вверх-вниз. Когда пользователь закончил редактирование делаете QWidget::setTabOrder по букварю. В основном придется заниматься тем как подсветить контрол в целевом окне (при выборе его в списке) и/или открыть табку что сейчас закрыта


Название: Re: setTabOrder - как разрешить пользователю переопределять
Отправлено: Alex_C от Июль 03, 2012, 09:57
Делаете модальный диалог в котором список контролов + кнопки вверх-вниз. Когда пользователь закончил редактирование делаете QWidget::setTabOrder по букварю. В основном придется заниматься тем как подсветить контрол в целевом окне (при выборе его в списке) и/или открыть табку что сейчас закрыта

Я так и сделал.
Но остался 1 вопрос:
установил все TabOrder. Но после последнего контрола, вместо того, чтоб перейти на первый контрол, курсор пропадает. И при следующем нажатии на Tab переходит на первый контрол. Вопрос - куда он пропадает? Пробовал "закольцовывать" по setTabOrder - все равно таже ерунда.


Название: Re: setTabOrder - как разрешить пользователю переопределять
Отправлено: Alex_C от Июль 03, 2012, 11:14
Сам разобрался.
Оказывается для самого окна еще нужно setFocusPolicy(Qt::ClickFocus); указывать.