Spec-Zone.ru › Qt 5.6

Тип QML KeyEvent

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

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

Свойства

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

Методы

  • bool matches(StandardKey key)

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

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

Item {
    focus: true
    Keys.onPressed: { 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 - Нажата кнопка дополнительной клавиатуры.

Например, чтобы отреагировать на комбинацию клавиш Shift + Enter:

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

nativeScanCode : quint32

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

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

text : string

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

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

bool matches(StandardKey key)

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

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

Этот метод QML был представлен в Qt 5.2.

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

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

Spec-Zone.ru

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