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