Фокус внутри переиспользуемого компонента
FocusScope создаёт область, внутри которой дочерние элементы могут управлять клавиатурным фокусом как единым компонентом. Это полезно для пользовательского контрола с несколькими полями: внешний экран передаёт фокус компоненту, а тот выбирает активный дочерний элемент.
FocusScope {
id: searchBox
focus: true
TextField {
id: input
anchors.fill: parent
focus: searchBox.activeFocus
placeholderText: "Поиск"
}
}Свойство focus выражает запрос фокуса, а activeFocus показывает, получил ли элемент его фактически. Вложенные компоненты могут передавать фокус внутри своей области, не перехватывая управление у соседних частей окна.
Проверяйте навигацию клавиатурой
При переключении экранов задавайте фокус явно и проверяйте поведение Tab, Shift+Tab и Escape. Не полагайтесь только на порядок объявления элементов: он может перестать совпадать с визуальным порядком после изменения макета. В диалоге также предусмотрите возврат фокуса на элемент, который его открыл.