Тип QML PointerHandler
Абстрактный обработчик событий указателя. Подробнее...
| Оператор импорта: | import QtQuick 2.0 |
| С тех пор: | Qt 5.10 |
| Наследуется от: |
Свойства
- active : bool
- cursorShape : Qt::CursorShape
- dragThreshold : int
- enabled : bool
- grabPermissions : flags
- margin : real
- parent : Item
- target : Item
Сигналы
- canceled(EventPoint point)
- grabChanged(GrabTransition transition, EventPoint point)
Подробное описание
PointerHandler — базовый класс обработчика ввода (не зарегистрирован как тип QML) для событий от любого типа устройств ввода указателя (касание, мышь или графический планшет).
Документация по свойствам
[только для чтения] active : bool
Это значение true, когда этот обработчик ввода взял на себя полную ответственность за обработку одного или нескольких EventPoint, успешно захватив эксклюзивный доступ к этим точкам. Это означает, что он поддерживает актуальность своих свойств в соответствии с перемещениями этих EventPoint и активно управляет своим target (если таковой имеется).
[с 5.15] cursorShape : Qt::CursorShape
Это свойство содержит форму курсора, которая будет отображаться всякий раз, когда указатель мыши находится над элементом parent, в то время как active равно true.
Доступные формы курсора:
- Qt.ArrowCursor
- Qt.UpArrowCursor
- Qt.CrossCursor
- Qt.WaitCursor
- Qt.IBeamCursor
- Qt.SizeVerCursor
- Qt.SizeHorCursor
- Qt.SizeBDiagCursor
- Qt.SizeFDiagCursor
- Qt.SizeAllCursor
- Qt.BlankCursor
- Qt.SplitVCursor
- Qt.SplitHCursor
- Qt.PointingHandCursor
- Qt.ForbiddenCursor
- Qt.WhatsThisCursor
- Qt.BusyCursor
- Qt.OpenHandCursor
- Qt.ClosedHandCursor
- Qt.DragCopyCursor
- Qt.DragMoveCursor
- Qt.DragLinkCursor
Значение по умолчанию не задано, что позволяет отображаться курсору элемента parent. Это свойство можно сбросить до исходного состояния, присвоив ему значение undefined.
Примечание: Когда это свойство не задано или имеет значение undefined, при чтении значения оно вернёт Qt.ArrowCursor.
Это свойство было добавлено в Qt 5.15.
См. также Qt::CursorShape, QQuickItem::cursor() и HoverHandler::cursorShape.
[с 5.15] dragThreshold : int
Расстояние в пикселях, которое пользователь должен переместить точку события, чтобы оно обрабатывалось как жесты перетаскивания.
Значение по умолчанию зависит от платформы и разрешения экрана. Его можно сбросить до значения по умолчанию, присвоив ему значение undefined. Поведение при начале жеста перетаскивания варьируется в разных обработчиках.
Это свойство было добавлено в Qt 5.15.
enabled : bool
Если PointerHandler отключён, он отклонит все события, и сигналы не будут выпущены.
grabPermissions : flags
Это свойство задаёт разрешения, когда логика обработчика принимает эксклюзивный захват или когда его просят одобрить захват или отмену захвата другим обработчиком.
| Постоянная | Описание |
|---|---|
PointerHandler.TakeOverForbidden |
Этот обработчик не берёт и не предоставляет разрешения на захват для любого типа элемента или обработчика. |
PointerHandler.CanTakeOverFromHandlersOfSameType |
Этот обработчик может захватить эксклюзивный доступ от другого обработчика того же класса. |
PointerHandler.CanTakeOverFromHandlersOfDifferentType |
Этот обработчик может захватить эксклюзивный доступ от любого типа обработчика. |
PointerHandler.CanTakeOverFromAnything |
Этот обработчик может захватить эксклюзивный доступ от любого типа элемента или обработчика. |
PointerHandler.ApprovesTakeOverByHandlersOfSameType |
Этот обработчик даёт разрешение другому обработчику того же класса захватить доступ. |
PointerHandler.ApprovesTakeOverByHandlersOfDifferentType |
Этот обработчик даёт разрешение любому типу обработчика захватить доступ. |
PointerHandler.ApprovesTakeOverByItems |
Этот обработчик даёт разрешение любому типу элемента захватить доступ. |
PointerHandler.ApprovesCancellation |
Этот обработчик позволит установить его захват в null. |
PointerHandler.ApprovesTakeOverByAnything |
Этот обработчик даёт разрешение любому типу элемента или обработчика захватить доступ. |
Значение по умолчанию — PointerHandler.CanTakeOverFromItems | PointerHandler.CanTakeOverFromHandlersOfDifferentType | PointerHandler.ApprovesTakeOverByAnything, что позволяет большинству сценариев захвата, но избегает, например, борьбы двух PinchHandler за те же точки касания.
margin : real
Отступ за пределами границ элемента parent, в котором точка события может активировать этот обработчик. Например, в PinchHandler, где target также является parent, полезно установить это значение на расстояние, по крайней мере, в половину ширины типичной руки пользователя, чтобы если parent масштабирован до очень маленького размера, жест pinch всё ещё был возможен. Или, если кнопка на основе TapHandler расположена у края экрана, её можно использовать для соответствия закону Фиттса: реагировать на щелчки мышью у края экрана, даже если кнопка визуально смещена от края на несколько пикселей.
Значение по умолчанию — 0.
[только для чтения] parent : Item
Элемент Item, который является областью действия обработчика; элемент, в котором он был объявлен. Обработчик будет обрабатывать события от имени этого элемента, что означает, что событие указателя будет уместным, если хотя бы одна из его точек события находится внутри внутренности элемента. Изначально target() является тем же, но его можно переназначить.
См. также target и QObject::parent().
target : Item
Элемент Item, который будет изменён этим обработчиком.
По умолчанию он совпадает с parent, элементом, в котором объявлен обработчик. Однако иногда бывает полезно установить target на другой элемент, чтобы обрабатывать события внутри одного элемента, но управлять другим; или чтобы null, чтобы отключить стандартное поведение и сделать что-то другое вместо этого.
Документация по сигналам
canceled(EventPoint point)
Если этот обработчик уже захватил указанную point, этот сигнал выводится, когда захват отнимается другим обработчиком указателя или элементом.
Примечание: Соответствующий обработчик — onCanceled.
grabChanged(GrabTransition transition, EventPoint point)
Этот сигнал выводится, когда захват изменился каким-либо образом, что важно для этого обработчика.
transition (глагол) указывает, что произошло. point (объект) — это точка, которая была захвачена или освобождена.
Примечание: Соответствующий обработчик — onGrabChanged.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qml-qtquick-pointerhandler.html