Spec-Zone.ru › Qt

Тип KeyEvent QML

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

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

Свойства

  • accepted : bool
  • count : int
  • isAutoRepeat : bool
  • key : int
  • modifiers : int
  • nativeScanCode : quint32
  • text : string

Методы

  • bool matches(StandardKey matchKey)

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

Например, следующие изменения свойства состояния элемента при нажатии клавиши Enter:

Item {
    focus: true
    Keys.onPressed: (event)=> { if (event.key == Qt.Key_Enter) state = 'ShowDetails'; }
}

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

accepted : bool

Установив accepted в значение true, вы предотвращаете распространение события нажатия клавиши на родительский элемент.

Как правило, если элемент реагирует на событие нажатия клавиши, то оно должно быть принято, чтобы дочерние элементы также не реагировали на то же самое событие.

count : int

Это свойство содержит количество клавиш, участвующих в данном событии. Если KeyEvent::text не пусто, это просто длина строки.

isAutoRepeat : bool

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

key : int

Это свойство содержит код клавиши, которая была нажата или отпущена.

См. Qt.Key для списка кодов клавиш. Эти коды независимы от базовой системы окон. Обратите внимание, что эта функция не различает заглавные и строчные буквы; для этой цели используйте свойство text.

Значение 0 или Qt.Key_Unknown означает, что событие не является результатом нажатия известной клавиши; например, оно может быть результатом последовательности сочетаний клавиш, макроса клавиатуры или из-за сжатия событий нажатия клавиш.

modifiers : int

Это свойство содержит флаги модификаторов клавиатуры, которые существовали непосредственно перед возникновением события.

Он содержит побитовое сочетание:

  • Qt.NoModifier - Ни одна клавиша модификатора не нажата.
  • Qt.ShiftModifier - Нажата клавиша Shift.
  • Qt.ControlModifier - Нажата клавиша Ctrl.
  • Qt.AltModifier - Нажата клавиша Alt.
  • Qt.MetaModifier - Нажата клавиша Meta.
  • Qt.KeypadModifier - Нажата кнопка дополнительной клавиатуры.
  • Qt.GroupSwitchModifier - Только X11. Нажата клавиша переключения режимов.

Например, для реакции на сочетание клавиш Shift + Enter:

Item {
    focus: true
    Keys.onPressed: (event)=> {
        if ((event.key == Qt.Key_Enter) && (event.modifiers & Qt.ShiftModifier))
            doSomething();
    }
}

nativeScanCode : quint32

Это свойство содержит родной код сканирования клавиши, которая была нажата. Оно передаётся из QKeyEvent без изменений.

См. также QKeyEvent::nativeScanCode().

text : string

Это свойство содержит текстовое значение Unicode, сгенерированное клавишей. Возвращаемый текст может быть пустой строкой в тех случаях, когда нажаты или отпущены клавиши модификаторов, такие как Shift, Control, Alt и Meta. В таких случаях key будет содержать действительное значение

Документация по методам

[since 5.2] bool matches(StandardKey matchKey)

Возвращает true, если событие нажатия клавиши соответствует заданному стандартному matchKey; в противном случае возвращает false.

Item {
    focus: true
    Keys.onPressed: (event)=> {
        if (event.matches(StandardKey.Undo))
            myModel.undo();
        else if (event.matches(StandardKey.Redo))
            myModel.redo();
    }
}

Этот метод был введён в Qt 5.2.

См. также QKeySequence::StandardKey.

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

Spec-Zone.ru

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