Spec-Zone.ru › Qt 5.12

Тип KeyNavigation QML

Поддерживает навигацию по клавишам со стрелками. Подробнее...

Заявление об импорте: import QtQuick 2.12
  • Список всех членов, включая унаследованные

Свойства

  • backtab : Элемент
  • down : Элемент
  • left : Элемент
  • priority : перечисление
  • right : Элемент
  • tab : Элемент
  • up : Элемент

Подробное описание

Пользовательские интерфейсы, основанные на клавишах, обычно позволяют использовать клавиши со стрелками для навигации между элементами, на которые можно установить фокус. Присоединённое свойство KeyNavigation обеспечивает это поведение, предоставляя удобный способ указать элемент, который должен получить фокус при нажатии клавиши со стрелкой или клавиши Tab.

Следующий пример обеспечивает навигацию по клавишам для сетки из 2x2 элементов:

import QtQuick 2.0

Grid {
    width: 100; height: 100
    columns: 2

    Rectangle {
        id: topLeft
        width: 50; height: 50
        color: focus ? "red" : "lightgray"
        focus: true

        KeyNavigation.right: topRight
        KeyNavigation.down: bottomLeft
    }

    Rectangle {
        id: topRight
        width: 50; height: 50
        color: focus ? "red" : "lightgray"

        KeyNavigation.left: topLeft
        KeyNavigation.down: bottomRight
    }

    Rectangle {
        id: bottomLeft
        width: 50; height: 50
        color: focus ? "red" : "lightgray"

        KeyNavigation.right: bottomRight
        KeyNavigation.up: topLeft
    }

    Rectangle {
        id: bottomRight
        width: 50; height: 50
        color: focus ? "red" : "lightgray"

        KeyNavigation.left: bottomLeft
        KeyNavigation.up: topRight
    }
}

Верхний левый элемент изначально получает фокус, установив focus на true. При нажатии клавиши со стрелкой фокус переместится на соответствующий элемент, как определено значением, установленным для свойства KeyNavigation left, right, up или down.

Обратите внимание, что если присоединённое свойство KeyNavigation получает события нажатия и отпускания клавиш для запрошенной клавиши со стрелкой или клавиши Tab, событие принимается и больше не распространяется.

По умолчанию, KeyNavigation получает события клавиш после элемента, к которому оно прикреплено. Если элемент принимает событие клавиши, присоединённое свойство KeyNavigation не получит событие для этой клавиши. Установка свойства priority на KeyNavigation.BeforeItem позволяет использовать событие для навигации по клавишам до элемента, а не после.

Если элемент, которому передаётся фокус, не активирован или не виден, будет предпринята попытка пропустить этот элемент и установить фокус на следующий. Это возможно, если существует цепочка элементов с тем же обработчиком KeyNavigation. Если несколько элементов подряд не активированы или не видны, они также будут пропущены.

KeyNavigation неявно установит другие направления для возвращения фокуса в этот элемент. Таким образом, если вы устанавливаете left для другого элемента, right будет установлено в этом элементе KeyNavigation для возвращения фокуса в этот элемент. Однако, если в KeyNavigation элемента явно установлено правое направление, изменений не произойдёт. Это означает, что в примере выше можно добиться такого же поведения, не указывая KeyNavigation.right или KeyNavigation.down для любого элемента.

См. также Присоединённое свойство Keys.

Документация по свойствам

backtab : Элемент

Это свойство хранит элемент, которому необходимо назначить фокус при нажатии комбинации клавиш Shift+Tab (Backtab).

down : Элемент

Это свойство хранит элемент, которому необходимо назначить фокус при нажатии клавиши вниз.

left : Элемент

Это свойство хранит элемент, которому необходимо назначить фокус при нажатии клавиши влево.

priority : перечисление

Это свойство определяет, обрабатываются ли клавиши до или после обработки клавиш прикреплённого элемента.

  • KeyNavigation.BeforeItem - обрабатывает события клавиш до обычной обработки клавиш элемента. Если событие используется для навигации по клавишам, оно будет принято и не будет передано элементу.
  • KeyNavigation.AfterItem (по умолчанию) - обрабатывает события клавиш после обычной обработки клавиш элемента. Если элемент принимает событие клавиши, оно не будет обработано обработчиком присоединённого свойства KeyNavigation.

right : Элемент

Это свойство хранит элемент, которому необходимо назначить фокус при нажатии клавиши вправо.

tab : Элемент

Это свойство хранит элемент, которому необходимо назначить фокус при нажатии клавиши Tab.

up : Элемент

Это свойство хранит элемент, которому необходимо назначить фокус при нажатии клавиши вверх.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qml-qtquick-keynavigation.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API