Spec-Zone.ru › Qt 5.15

Тип 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

Это свойство содержит нажатые кнопки мыши во время генерации события прокрутки.

Содержит битовую комбинацию:

  • Qt.LeftButton
  • Qt.RightButton
  • Qt.MiddleButton

[только для чтения] 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API