Тип KeyEvent QML
Предоставляет информацию о событии нажатия клавиши. Подробнее...
| Заявление об импорте: | import QtQuick 2.0 |
Свойства
- 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: { 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 будет содержать корректное значение.
Документация методов
[since 5.2] bool matches(StandardKey matchKey)
Возвращает true если событие нажатия клавиши соответствует заданной стандартной клавише matchKey; в противном случае возвращает 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-6.0/qml-qtquick-keyevent.html