Spec-Zone.ru › Qt 6.1

Тип QML KeyEvent

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

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

Свойства

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

Методы

  • bool matches(StandardKey matchKey)

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

Например, следующие действия изменяют свойство состояния элемента Item при нажатии клавиши 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.1/qml-qtquick-keyevent.html

Spec-Zone.ru

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