Тип QML WheelEvent
Предоставляет информацию о событии вращения мыши. Подробнее...
| Заявление импорта: | import QtQuick 2.12 |
Свойства
- accepted : bool
- angleDelta : point
- buttons : int
- inverted : int
- modifiers : int
- pixelDelta : point
- x : real
- y : real
Подробное описание
Положение указателя мыши можно найти с помощью свойств x и y.
См. также MouseArea.
Документация по свойствам
accepted : bool
Установка accepted в значение true предотвращает распространение события вращения колесика на элементы, расположенные ниже этого элемента.
В общем случае, если элемент обрабатывает событие вращения колесика, то он должен быть принят, чтобы элементы, расположенные ниже в порядке стекирования, не реагировали на то же самое событие.
angleDelta : point
Это свойство содержит расстояние, на которое вращалось колесико в градусах вращения. Координаты x и y этого свойства содержат разницу в горизонтальном и вертикальном направлениях.
Положительное значение указывает, что колесико было повернуто вверх/вправо; отрицательное значение указывает, что колесико было повернуто вниз/влево.
Большинство типов мышей работают шагами по 15 градусов, в этом случае значение дельты является кратным 120; т.е., 120 единиц * 1/8 = 15 градусов.
buttons : int
Это свойство содержит нажатые кнопки мыши во время генерации события вращения колесика.
Он содержит побитовое сочетание:
inverted : int
Возвращает, инвертированы ли значения дельты, передаваемые с событием.
Обычно, вертикальное вращение колесика генерирует событие WheelEvent с положительными значениями дельты, если верхняя часть колесика вращается от руки, управляющей им. Аналогично, горизонтальное движение колесика сгенерирует событие QWheelEvent с положительными значениями дельты, если верхняя часть колесика перемещается влево.
Однако на некоторых платформах это настраивается, так что те же самые операции, описанные выше, дадут отрицательные значения дельты (но с тем же значением). Например, в компоненте QML (таком как ползунок или регулятор), где уместно синхронизировать движение или вращение элемента с направлением вращения колесика, независимо от системных настроек, обработчик события колесика может использовать свойство inverted, чтобы определить, нужно ли умножить значения angleDelta или pixelDelta на -1.
Примечание: Многие платформы не предоставляют такую информацию. На таких платформах inverted всегда возвращает false.
modifiers : int
Это свойство содержит флаги модификаторов клавиатуры, которые существовали непосредственно перед возникновением события.
Он содержит побитовое сочетание:
- Qt.NoModifier - Нет нажатых клавиш модификатора.
- Qt.ShiftModifier - Нажата клавиша Shift.
- Qt.ControlModifier - Нажата клавиша Ctrl.
- Qt.AltModifier - Нажата клавиша Alt.
- Qt.MetaModifier - Нажата клавиша Meta.
- Qt.KeypadModifier - Нажата клавиша наблока цифр.
Например, для реакции на нажатие клавиши Ctrl во время события вращения колесика:
MouseArea {
onWheel: {
if (wheel.modifiers & Qt.ControlModifier) {
adjustZoom(wheel.angleDelta.y / 120);
}
}
} pixelDelta : point
Это свойство содержит разницу в пикселях экрана и доступно на платформах с высокоразрешающими трекпадами, такими как macOS. Координаты x и y этого свойства содержат разницу в горизонтальном и вертикальном направлениях. Это значение должно использоваться напрямую для прокрутки содержимого на экране.
Для платформ без поддержки высокоразрешающих трекпадов pixelDelta всегда будет (0,0), и вместо него следует использовать angleDelta.
x : real
Эти свойства содержат координаты позиции, предоставленные событием вращения колесика.
y : real
Эти свойства содержат координаты позиции, предоставленные событием вращения колесика.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qml-qtquick-wheelevent.html