Тип QML PointerScrollEvent
Предоставляет информацию о событии прокрутки, например, от колесика мыши. Подробнее...
| Выражение импорта: | import QtQuick 2.15 |
Свойства
- angleDelta : point
- buttons : int
- device : PointerDevice
- hasAngleDelta : bool
- hasPixelDelta : bool
- inverted : bool
- modifiers : int
- pixelDelta : point
Подробное описание
См. также WheelHandler.
Документация свойств
angleDelta : point
Это свойство содержит расстояние поворота колесика в градусах. Координаты x и y этого свойства содержат разницу в горизонтальном и вертикальном направлениях.
Положительное значение указывает, что колесико было повернуто вверх/вправо; отрицательное значение указывает, что колесико было повернуто вниз/влево.
Большинство типов мыши работают шагами по 15 градусов, в этом случае значение разницы является кратным 120; т.е., 120 единиц * 1/8 = 15 градусов.
buttons : int
Это свойство содержит нажатые кнопки мыши во время генерации события прокрутки.
Содержит битовую комбинацию:
[только для чтения] device : PointerDevice
Это свойство содержит устройство, сгенерировавшее событие.
hasAngleDelta : bool
Возвращает, имеет ли свойство angleDelta ненулевое значение.
hasPixelDelta : bool
Возвращает, имеет ли свойство pixelDelta ненулевое значение.
inverted : bool
Возвращает, инвертированы ли значения разницы, передаваемые с событием.
Обычно вертикальное колесико мыши генерирует PointerScrollEvent с положительными значениями разницы, если верхняя часть колесика вращается от руки. Аналогично, горизонтальное движение колесика генерирует PointerScrollEvent с положительными значениями разницы, если верхняя часть колесика перемещается влево.
Однако на некоторых платформах это настраивается, так что те же самые операции, описанные выше, будут генерировать отрицательные значения разницы (но с той же величиной). В компоненте QML (например, ползунок или регулятор), где уместно синхронизировать движение или вращение элемента с направлением колесика, независимо от системных настроек, обработчик событий колесика может использовать свойство inverted, чтобы решить, следует ли отрицать значения angleDelta или pixelDelta.
Примечание: Многие платформы не предоставляют такой информации. На таких платформах inverted всегда возвращает false.
[только для чтения] modifiers : int
Это свойство содержит клавиши модификаторов клавиатуры, которые были нажаты непосредственно перед возникновением события.
Содержит битовую комбинацию следующих флагов:
| Константа | Описание |
|---|---|
Qt.NoModifier |
Ни одна клавиша модификатора не нажата. |
Qt.ShiftModifier |
Нажата клавиша Shift на клавиатуре. |
Qt.ControlModifier |
Нажата клавиша Ctrl на клавиатуре. |
Qt.AltModifier |
Нажата клавиша Alt на клавиатуре. |
Qt.MetaModifier |
Нажата клавиша Meta на клавиатуре. |
Qt.KeypadModifier |
Нажата кнопка на цифровом блоке. |
Например, для реакции на нажатие клавиши Shift + левой кнопки мыши:
Item {
TapHandler {
onTapped: {
if ((event.button == Qt.LeftButton) && (event.modifiers & Qt.ShiftModifier))
doSomething();
}
}
} pixelDelta : point
Это свойство содержит разницу в пикселях экрана и доступно на платформах с тачпадами высокой разрешающей способности, такими как 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-5.15/qml-qtquick-pointerscrollevent.html