Spec-Zone.ru › Qt 5.15

Тип WheelEvent QML

Предоставляет информацию о событии прокрутки мыши. Подробнее...

Выражение импорта: import QtQuick 2.15
  • Список всех членов, включая наследуемые

Свойства

  • accepted : bool
  • angleDelta : point
  • buttons : int
  • inverted : bool
  • modifiers : int
  • pixelDelta : point
  • x : real
  • y : real

Подробное описание

Позицию указателя мыши можно найти, используя свойства x и y.

См. также MouseArea.

Документация по свойствам

x : real

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

accepted : bool

Установив accepted в значение true, вы предотвращаете распространение события прокрутки на элементы, расположенные ниже этого элемента.

В общем случае, если элемент обрабатывает событие прокрутки, то он должен его принять, чтобы элементы, расположенные ниже в порядке стекирования, не реагировали на это же событие.

angleDelta : point

Это свойство содержит расстояние поворота колесика в градусах прокрутки. Координаты x и y этого свойства содержат разницу в горизонтальной и вертикальной ориентации.

Положительное значение указывает, что колесико было повернуто вверх/вправо; отрицательное значение указывает, что колесико было повернуто вниз/влево.

Большинство типов мышей работают с шагами по 15 градусов, в этом случае значение разницы является кратным 120; т.е., 120 единиц * 1/8 = 15 градусов.

buttons : int

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

Содержит побитовое объединение:

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

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: {
        if (wheel.modifiers & Qt.ControlModifier) {
            adjustZoom(wheel.angleDelta.y / 120);
        }
    }
}

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-wheelevent.html

Spec-Zone.ru

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