Перейти к содержимому

Как установить порядок обхода по tab qt

  • автор:

Как задать последовательность выбора виджетов при нажатии Tab

Есть окно QDialog, в котором имеются виджеты QLineEdit, QComboBox, QSpinBox и т.д. Посколько в редакторе форм я их создавал в произвольном поряде, а потом расставлял так как мне нужно, то при переходе от одного элементиа к другому посредством нажатии клавиши Tab обход виджетов происходит не в порядке сверху вниз и слева направо, а в том порядке, в котором я добавлял эти элементы(т.е. может прыгать по диагонали, снизу вверх и т.п.). Как изменить порядок обхода?

Отслеживать
задан 19 сен 2017 в 8:14
Евгений Дружинин Евгений Дружинин
349 1 1 серебряный знак 13 13 бронзовых знаков
Qt Designer — Правка — Изменение порядка переключений (doc.qt.io/qt-4.8/designer-tab-order.html)
19 сен 2017 в 8:20
goldstar_labs а как это сделать с помощью кода?
19 сен 2017 в 8:22
goldstar_labs в любом случае оставляйте ответ, помечу его как решение
19 сен 2017 в 8:24
19 сен 2017 в 8:25
goldstar_labs Да и ещё вопрос. Каким образом включить в этот порядок кнопки Ок и Cancel
19 сен 2017 в 8:31

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Для Qt Designer’a: Меню — Правка — Изменение порядка переключений (Menu — Edit — Edit Tab Order)

Из кода: статическая функция void QWidget::setTabOrder(QWidget *first, QWidget *second) first — виджет, который имеет фокус second — виджет, на который будет переключен фокус с first

Отслеживать
ответ дан 19 сен 2017 в 8:30
goldstar_labs goldstar_labs
2,415 1 1 золотой знак 12 12 серебряных знаков 21 21 бронзовый знак

важно помнить, чтобы цепочка переключений фокуса строилась непрерывно, это описано по второй ссылке более подробно.

Как переместить виджет в Qt Creator?

В QC (Qt Designer) есть лейаут в нем 3 виджета. Как изменить порядок этих виджетов? Допустим, как в окне дерева объектов поднять второй виджет чтобы второй стал первым а первый соответственно вторым? Простым драг-дропом не работает.

magnuz
03.11.15 22:27:49 MSK

Можно в коде это сделать, а в дизайнере кроме как драгдропом не уверен что можно.

I-Love-Microsoft ★★★★★
( 03.11.15 23:46:57 MSK )

в дереве объектов никак (а зачем?) — сортировка исключительно по имени

Noob_Linux ★★★★
( 04.11.15 09:17:26 MSK )

Именно в дереве — никак.

Другое дело, если дерево объектов для тебя не самоцель, и ты хочешь чего-то ещё. Если изменить физическое расположение — драг-дроп работает (левый виджет можно сделать правым). Если порядок обхода по Tab — для этого есть отдельная кнопка в панели инструментов.

hobbit ★★★★★
( 05.11.15 22:56:14 MSK )
Ответ на: комментарий от hobbit 05.11.15 22:56:14 MSK

Тока щас понял что возможно ТС-у нужно было именно это. 🙂

Если не секрет, что там за кнопка для этого?

I-Love-Microsoft ★★★★★
( 06.11.15 00:35:07 MSK )
Ответ на: комментарий от I-Love-Microsoft 06.11.15 00:35:07 MSK

Я даже сам затрудняюсь её описать, такая маленькая и невзрачная, на панели инструментов. Где-то левее кнопок компоновки в Layout-ы, если нажать, виджеты на окне помечаются циферками.

Это, правда, в Qt Creator, но ЕМНИП, в старом Designer было такое же.

как редактировать порядок обхода этементов по нажатию TAB в Qt5 qml

Рекомендуем хостинг TIMEWEB

Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Подписка на обсуждение 2
Подписка на раздел 98

Вам это нравится? Поделитесь в социальных сетях!

Evgenii Legotckoi

  • Evgenii Legotckoi
  • #
  • 18 июня 2018 г. 10:06
  • (ред.)

Допустим есть несколько объектов

TextInput < id: one >TextInput < id: two >TextInput
Указывать следущий обьект обхода можно так
TextInput
Если требуется динамическое назначение порядка обхода, то обрабатывайте ещё и событие tab

Item < focus: true Keys.onPressed: < if (event.key == Qt.Key_Tab) < // ToDo Something >> >

а по нажатию ENTER как сделать такой же обход?

Evgenii Legotckoi

  • Evgenii Legotckoi → kabanov
  • #
  • 19 июня 2018 г. 10:56

Что-то наподобие такого

TextField

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь

Последние комментарии

EVA

EVA25 декабря 2023 г. 18:30

Boost — статическая линковка в CMake проекте под Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…

JonnyJo25 декабря 2023 г. 16:38

Boost — статическая линковка в CMake проекте под Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл «libboost_locale-vc142-mt-gd-x64-1_74.lib» Хоть убей, не могу понять в чём дел…

Gvozdik19 декабря 2023 г. 5:01

Qt/C++ — Урок 056. Подключение библиотеки Boost в Qt для компиляторов MinGW и MSVC Для решения твой проблемы добавь в файл .pro строчку «LIBS += -lws2_32» она решит проблему , лично мне помогло.

Evgenii Legotckoi

Evgenii Legotckoi15 декабря 2023 г. 19:07

Qt/C++ — Урок 056. Подключение библиотеки Boost в Qt для компиляторов MinGW и MSVC По существу выглядит так, что нужно добавить ещё одну строку; LIBS += -LC:/path/to/winsock2/lib -lWS2_32 Вот только у вас ещё должна быть эта библиотека winsock2 скачана и находится по э…

JonnyJo15 декабря 2023 г. 18:08

Qt/C++ — Урок 056. Подключение библиотеки Boost в Qt для компиляторов MinGW и MSVC Евгений, благодарю: с тем вопросом разобрался. Но никак не могу разобрать уже другую Нашёл пару советов в форуме Qt и stackoverflow, но не понимаю как их реализ…

Сейчас обсуждают на форуме

BlinCT

BlinCT27 декабря 2023 г. 16:57

Растягивать Image на парент по высоте Ну и само собою дял включения scrollbar надо чтобы был Flickable. Так что выходит как то так Flickable< id: root anchors.fill: parent clip: true property url linkFile p…

Evgenii Legotckoi

Evgenii Legotckoi12 декабря 2023 г. 14:48

Побуквенное сравнение двух строк Добрый день. Там случайно не высылается этот сигнал textChanged ещё и при форматировани текста? Если решиать в лоб, то можно просто отключать сигнал/слотовое соединение внутри слота и …

BlinCT

BlinCT30 ноября 2023 г. 17:18

Сборка проекта Qt6 из под винды на удаленой машине Всем привет. Сталкнулся с такой странностью: надо собирать проект из под 10 винды на удаленой линуксовой машине, проект строится на QT6, но вот когда cmake генерит свой кеш то вылитает…

Evgenii Legotckoi

Evgenii Legotckoi19 ноября 2023 г. 16:14

CKEditor 5 и подсветка синтаксиса. Добрый день. Я устал разбираться с CKEditor и просто перешёл на использование самописного markdown редактора.

Переход по TAB клавише, управляемые формы

1С:Предприятие 8.3 (8.3.20.1674)
Подскажите, где в управляемых формах настраивается переход по Таб клавише?
Нужно задать порядок обхода элементов на форме.

Можно скриншот прикрепить, если есть возможность.

По теме из базы знаний

  • Нажми на кнопку — получишь результат (горячие клавиши)
  • Гарри Поттер и подкапотное пространство веб-клиента
  • Ошибка загрузки большого архива 1Cv8.dt в PostgresSQL на платформе 1С 8.3.19
  • Фишки платформы 1С 8.3 для начинающего разработчика
  • Резервное копирование и восстановление 1С баз на PostgreSQL в Windows с помощью pgAdmin, bat-файлов и планировщика

Найденные решения
4. spacecraft 23.08.22 15:01 Сейчас в теме

(3) сама постановка вопроса не корректная. Вопрос взят еще из обычных форм, где можно было проставить порядок обхода.
Тут же под термином «порядок обхода» имеют ввиду настройку элементов, по которым вообще можно перемещаться при обходе.

А именно про порядок обхода есть четкое описание на сайте 1С:
https://its.1c.ru/db/metod8dev/content/3564/hdoc

Порядок обхода в управляемых формах простой: как элементы идут в дереве, в таком порядке они и будут получать фокус ввода.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *