Spec-Zone.ru › Qt 5.13

Тип QML Keys

Обеспечивает обработку клавиш для элементов. Подробнее...

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

Свойства

  • enabled : bool
  • forwardTo : список<Объект>
  • priority : перечисление

Сигналы

  • asteriskPressed(event)
  • backPressed(event)
  • backtabPressed(event)
  • callPressed(event)
  • cancelPressed(event)
  • context1Pressed(event)
  • context2Pressed(event)
  • context3Pressed(event)
  • context4Pressed(event)
  • deletePressed(event)
  • digit0Pressed(event)
  • digit1Pressed(event)
  • digit2Pressed(event)
  • digit3Pressed(event)
  • digit4Pressed(event)
  • digit5Pressed(event)
  • digit6Pressed(event)
  • digit7Pressed(event)
  • digit8Pressed(event)
  • digit9Pressed(event)
  • downPressed(event)
  • enterPressed(event)
  • escapePressed(event)
  • flipPressed(event)
  • hangupPressed(event)
  • leftPressed(event)
  • menuPressed(event)
  • noPressed(event)
  • pressed(event)
  • released(event)
  • returnPressed(event)
  • rightPressed(event)
  • selectPressed(event)
  • shortcutOverride(event)
  • spacePressed(event)
  • tabPressed(event)
  • upPressed(event)
  • volumeDownPressed(event)
  • volumeUpPressed(event)
  • yesPressed(event)

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

Все визуальные примитивы поддерживают обработку клавиш через присоединенное свойство Keys. Обработка клавиш может выполняться через сигналы onPressed и onReleased.

Сигнальные свойства имеют параметр KeyEvent, именованный event, который содержит подробности события. Если клавиша обработана, event.accepted должно быть установлено в значение true, чтобы предотвратить распространение события по иерархии элементов.

Пример использования

Следующий пример демонстрирует, как можно использовать общий обработчик onPressed для проверки определенной клавиши; в данном случае, клавиши левой стрелки:

Item {
    anchors.fill: parent
    focus: true
    Keys.onPressed: {
        if (event.key == Qt.Key_Left) {
            console.log("move left");
            event.accepted = true;
        }
    }
}

Некоторые клавиши могут обрабатываться альтернативно через отдельные сигнальные свойства, например, onSelectPressed. Эти обработчики автоматически устанавливают event.accepted в значение true.

Item {
    anchors.fill: parent
    focus: true
    Keys.onLeftPressed: console.log("move left")
}

См. Qt.Key для списка кодов клавиатуры.

Приоритеты обработки клавиш

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

Если priority равен Keys.BeforeItem (по умолчанию), порядок обработки событий нажатия клавиш таков:

  1. Элементы, указанные в forwardTo
  2. специфические обработчики клавиш, например, onReturnPressed
  3. обработчики onPressed, onReleased
  4. обработка клавиш, специфичная для элемента, например, обработка клавиш TextInput
  5. родительский элемент

Если priority равен Keys.AfterItem, порядок обработки событий нажатия клавиш таков:

  1. обработка клавиш, специфичная для элемента, например, обработка клавиш TextInput
  2. Элементы, указанные в forwardTo
  3. специфические обработчики клавиш, например, onReturnPressed
  4. обработчики onPressed, onReleased
  5. родительский элемент

Если событие обрабатывается на любом из вышеперечисленных шагов, распространение клавиши прекращается.

См. также KeyEvent и свойство KeyNavigation.

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

enabled : bool

Этот флаг включает обработку клавиш, если равен true (по умолчанию); в противном случае обработчики клавиш не будут вызываться.

forwardTo : список<Объект>

Это свойство предоставляет способ перенаправления нажатий клавиш, отпусканий клавиш и ввода с клавиатуры, поступающего от методов ввода, другим элементам. Это может быть полезно, когда вы хотите, чтобы один элемент обрабатывал некоторые клавиши (например, клавиши со стрелками вверх и вниз), а другой элемент обрабатывал другие клавиши (например, клавиши со стрелками влево и вправо). Как только элемент, которому были перенаправлены клавиши, примет событие, оно больше не перенаправляется элементам, которые следуют за ним в списке.

В этом примере события нажатия клавиш перенаправляются двум спискам:

Item {
    ListView {
        id: list1
        // ...
    }
    ListView {
        id: list2
        // ...
    }
    Keys.forwardTo: [list1, list2]
    focus: true
}

Чтобы увидеть порядок, в котором события принимаются при использовании forwardTo, см. Приоритеты обработки клавиш.

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

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

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

См. также Приоритеты обработки клавиш.

Документация по сигналам

asteriskPressed(event)

Этот сигнал генерируется при нажатии клавиши Звездочка '*'. Параметр event предоставляет информацию об этом событии.

Соответствующий обработчик — onAsteriskPressed.

backPressed(event)

Этот сигнал генерируется при нажатии клавиши Назад. Параметр event предоставляет информацию об этом событии.

Соответствующий обработчик — onBackPressed.

backtabPressed(event)

Этот сигнал генерируется при нажатии комбинации клавиш Shift+Tab (Backtab). Параметр event предоставляет информацию об этом событии.

Соответствующий обработчик — onBacktabPressed.

callPressed(event)

Этот сигнал генерируется при нажатии клавиши Вызов. Параметр event предоставляет информацию об этом событии.

Соответствующий обработчик — onCallPressed.

cancelPressed(event)

Этот сигнал генерируется при нажатии клавиши Отмена. Параметр event предоставляет информацию об этом событии.

Соответствующий обработчик — onCancelPressed.

context1Pressed(event)

Этот сигнал генерируется при нажатии клавиши Context1. Параметр event предоставляет информацию об этом событии.

Соответствующий обработчик — onContext1Pressed.

context2Pressed(event)

Этот сигнал генерируется при нажатии клавиши Context2. Параметр event предоставляет информацию об этом событии.

Соответствующий обработчик — onContext2Pressed.

context3Pressed(event)

Этот сигнал генерируется при нажатии клавиши Context3. Параметр event предоставляет информацию об этом событии.

Соответствующий обработчик — onContext3Pressed.

context4Pressed(event)

Этот сигнал генерируется при нажатии клавиши Context4. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onContext4Pressed.

deletePressed(event)

Этот сигнал генерируется при нажатии клавиши Delete. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onDeletePressed.

digit0Pressed(event)

Этот сигнал генерируется при нажатии цифры '0'. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onDigit0Pressed.

digit1Pressed(event)

Этот сигнал генерируется при нажатии цифры '1'. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onDigit1Pressed.

digit2Pressed(event)

Этот сигнал генерируется при нажатии цифры '2'. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onDigit2Pressed.

digit3Pressed(event)

Этот сигнал генерируется при нажатии цифры '3'. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onDigit3Pressed.

digit4Pressed(event)

Этот сигнал генерируется при нажатии цифры '4'. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onDigit4Pressed.

digit5Pressed(event)

Этот сигнал генерируется при нажатии цифры '5'. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onDigit5Pressed.

digit6Pressed(event)

Этот сигнал генерируется при нажатии цифры '6'. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onDigit6Pressed.

digit7Pressed(event)

Этот сигнал генерируется при нажатии цифры '7'. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onDigit7Pressed.

digit8Pressed(event)

Этот сигнал генерируется при нажатии цифры '8'. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onDigit8Pressed.

digit9Pressed(event)

Этот сигнал генерируется при нажатии цифры '9'. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onDigit9Pressed.

downPressed(event)

Этот сигнал генерируется при нажатии стрелки вниз. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onDownPressed.

enterPressed(event)

Этот сигнал генерируется при нажатии клавиши Enter. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onEnterPressed.

escapePressed(event)

Этот сигнал генерируется при нажатии клавиши Escape. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onEscapePressed.

flipPressed(event)

Этот сигнал генерируется при нажатии клавиши Flip. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onFlipPressed.

hangupPressed(event)

Этот сигнал генерируется при нажатии клавиши Hangup. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onHangupPressed.

leftPressed(event)

Этот сигнал генерируется при нажатии стрелки влево. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onLeftPressed.

menuPressed(event)

Этот сигнал генерируется при нажатии клавиши Menu. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onMenuPressed.

noPressed(event)

Этот сигнал генерируется при нажатии клавиши No. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onNoPressed.

pressed(event)

Этот сигнал генерируется при нажатии клавиши. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onPressed.

released(event)

Этот сигнал генерируется при отпускании клавиши. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onReleased.

returnPressed(event)

Этот сигнал генерируется при нажатии клавиши Return. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onReturnPressed.

rightPressed(event)

Этот сигнал генерируется при нажатии стрелки вправо. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onRightPressed.

selectPressed(event)

Этот сигнал генерируется при нажатии клавиши Select. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onSelectPressed.

shortcutOverride(event)

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

Установите event.accepted на true, если вы хотите предотвратить использование нажатой клавиши в качестве сочетания клавиш другими типами, такими как Shortcut. Например:

Item {
    id: escapeItem
    focus: true

    // Ensure that we get escape key press events first.
    Keys.onShortcutOverride: event.accepted = (event.key === Qt.Key_Escape)

    Keys.onEscapePressed: {
        console.log("escapeItem is handling escape");
        // event.accepted is set to true by default for the specific key handlers
    }
}

Shortcut {
    sequence: "Escape"
    onActivated: console.log("Shortcut is handling escape")
}

Как и в других сигналах, shortcutOverride будет генерироваться только для элемента, если у этого элемента установлен activeFocus.

Соответствующий обработчик — onShortcutOverride.

Этот сигнал был добавлен в Qt 5.9.

См. также Shortcut.

spacePressed(event)

Этот сигнал генерируется при нажатии пробела. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onSpacePressed.

tabPressed(event)

Этот сигнал генерируется при нажатии клавиши Tab. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onTabPressed.

upPressed(event)

Этот сигнал генерируется при нажатии стрелки вверх. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onUpPressed.

volumeDownPressed(event)

Этот сигнал генерируется при нажатии клавиши уменьшения громкости. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onVolumeDownPressed.

volumeUpPressed(event)

Этот сигнал генерируется при нажатии клавиши увеличения громкости. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onVolumeUpPressed.

yesPressed(event)

Этот сигнал генерируется при нажатии клавиши Yes. Параметр event содержит информацию об этом событии.

Соответствующий обработчик — onYesPressed.

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

Spec-Zone.ru

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