Тип KeyEvent QML
Предоставляет информацию о событии нажатия клавиши. Подробнее...
| Заявление об импорте: | import QtQuick 2.13 |
Свойства
- accepted : bool
- count : int
- isAutoRepeat : bool
- key : int
- modifiers : int
- nativeScanCode : quint32
- text : string
Методы
- bool matches(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
Это свойство содержит текстовое значение Unicode, сгенерированное клавишей. Возвращаемый текст может быть пустой строкой в случаях, когда нажаты или отпущены клавиши модификаторов, такие как Shift, Control, Alt и Meta. В таких случаях key будет содержать действительное значение.
Документация по методам
bool matches(key)
Возвращает true, если событие нажатия клавиши соответствует заданной стандартной клавише; в противном случае возвращает 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/qt-5.13/qml-qtquick-keyevent.html