Spec-Zone.ru › Qt 5.14

Тип QML Keys

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

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

Свойства

  • 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)

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

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

backtabPressed(event)

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

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

callPressed(event)

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

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

cancelPressed(event)

Этот сигнал генерируется при нажатии клавиши Cancel. Параметр 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.14/qml-qtquick-keys.html

Spec-Zone.ru

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