Тип 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