Spec-Zone.ru › Qt 5.6

Тип QML Keys

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

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

Свойства

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

Сигналы

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

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

Все визуальные примитивы поддерживают обработку клавиш через свойство attached 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 для списка кодов клавиатуры.

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

Свойство attached 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 и Свойство attached 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(KeyEvent event)

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

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

backPressed(KeyEvent event)

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

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

backtabPressed(KeyEvent event)

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

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

callPressed(KeyEvent event)

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

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

cancelPressed(KeyEvent event)

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

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

context1Pressed(KeyEvent event)

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

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

context2Pressed(KeyEvent event)

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

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

context3Pressed(KeyEvent event)

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

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

context4Pressed(KeyEvent event)

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

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

deletePressed(KeyEvent event)

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

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

digit0Pressed(KeyEvent event)

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

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

digit1Pressed(KeyEvent event)

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

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

digit2Pressed(KeyEvent event)

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

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

digit3Pressed(KeyEvent event)

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

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

digit4Pressed(KeyEvent event)

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

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

digit5Pressed(KeyEvent event)

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

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

digit6Pressed(KeyEvent event)

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

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

digit7Pressed(KeyEvent event)

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

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

digit8Pressed(KeyEvent event)

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

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

digit9Pressed(KeyEvent event)

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

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

downPressed(KeyEvent event)

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

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

enterPressed(KeyEvent event)

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

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

escapePressed(KeyEvent event)

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

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

flipPressed(KeyEvent event)

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

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

hangupPressed(KeyEvent event)

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

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

leftPressed(KeyEvent event)

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

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

menuPressed(KeyEvent event)

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

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

noPressed(KeyEvent event)

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

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

pressed(KeyEvent event)

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

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

released(KeyEvent event)

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

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

returnPressed(KeyEvent event)

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

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

rightPressed(KeyEvent event)

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

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

selectPressed(KeyEvent event)

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

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

spacePressed(KeyEvent event)

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

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

tabPressed(KeyEvent event)

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

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

upPressed(KeyEvent event)

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

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

volumeDownPressed(KeyEvent event)

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

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

volumeUpPressed(KeyEvent event)

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

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

yesPressed(KeyEvent event)

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

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

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

Spec-Zone.ru

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