Spec-Zone.ru › Qt 5.11

Тип KeyEvent QML

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

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

Свойства

  • 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 - Нажата кнопка цифровой клавиатуры.
  • Qt.GroupSwitchModifier - Только X11. Нажата клавиша переключения режимов.

Например, для реакции на комбинацию клавиш 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();
    }
}

Этот метод был введён в 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.11/qml-qtquick-keyevent.html

Spec-Zone.ru

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