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