Тип QML PointerHandler
Абстрактный обработчик событий указателя. Подробнее...
| Заявление импорта: | import QtQuick 2.15 |
| С момента: | 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, когда этот обработчик ввода полностью взял на себя ответственность за обработку одного или нескольких EventPoints, успешно захватив их эксклюзивный захват. Это означает, что он сохраняет свои свойства, обновляя их в соответствии с движениями этих EventPoints и активно манипулирует своим target (если таковой имеется).
cursorShape : Qt::CursorShape
Это свойство содержит форму курсора, которая будет отображаться при наведении указателя мыши на родительский элемент, в то время как 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
Значение по умолчанию не задано, что позволяет отобразить курсор cursor родительского элемента. Это свойство можно сбросить до исходного состояния, задав ему значение undefined.
Примечание: Если это свойство не было установлено или было установлено в undefined, при чтении значения будет возвращено Qt.ArrowCursor.
Это свойство было добавлено в Qt 5.15.
См. также Qt::CursorShape, QQuickItem::cursor() и HoverHandler::cursorShape.
dragThreshold : int
Расстояние в пикселях, на которое пользователь должен переместить точку события, чтобы это событие рассматривалось как жест перетаскивания.
Значение по умолчанию зависит от платформы и разрешения экрана. Его можно сбросить до значения по умолчанию, установив его в undefined. Поведение при начале жеста перетаскивания различается в различных обработчиках.
Это свойство было добавлено в Qt 5.15.
enabled : bool
Если PointerHandler отключен, он отклонит все события, и никакие сигналы не будут отправлены.
grabPermissions : flags
Это свойство определяет разрешения при принятии обработчиком логики эксклюзивного захвата или при запросе утверждения захвата или отмены захвата другим обработчиком.
| Константа | Описание |
|---|---|
PointerHandler.TakeOverForbidden |
Этот обработчик не захватывает и не предоставляет разрешение на захват для любого типа Item или Handler. |
PointerHandler.CanTakeOverFromHandlersOfSameType |
Этот обработчик может захватить эксклюзивный захват от другого обработчика того же класса. |
PointerHandler.CanTakeOverFromHandlersOfDifferentType |
Этот обработчик может захватить эксклюзивный захват от любого типа обработчика. |
PointerHandler.CanTakeOverFromAnything |
Этот обработчик может захватить эксклюзивный захват от любого типа Item или Handler. |
PointerHandler.ApprovesTakeOverByHandlersOfSameType |
Этот обработчик разрешает другому обработчику того же класса захватить захват. |
PointerHandler.ApprovesTakeOverByHandlersOfDifferentType |
Этот обработчик предоставляет разрешение любому типу обработчика захватить захват. |
PointerHandler.ApprovesTakeOverByItems |
Этот обработчик предоставляет разрешение любому типу Item захватить захват. |
PointerHandler.ApprovesCancellation |
Этот обработчик позволит установить свой захват в null. |
PointerHandler.ApprovesTakeOverByAnything |
Этот обработчик предоставляет разрешение любому типу Item или Handler захватить захват. |
Значение по умолчанию — PointerHandler.CanTakeOverFromItems | PointerHandler.CanTakeOverFromHandlersOfDifferentType | PointerHandler.ApprovesTakeOverByAnything, которое допускает большинство сценариев захвата, но предотвращает, например, столкновение двух PinchHandler при работе с одними и теми же точками касания.
margin : real
Отступ за пределами границ родительского элемента parent, в пределах которого точка события может активировать этот обработчик. Например, в PinchHandler, где target также является parent, целесообразно установить его на расстояние, по меньшей мере, равное половине ширины типичной пальца пользователя, чтобы, если parent было уменьшено до очень малого размера, жест масштабирования всё ещё был возможен. Или, если кнопка на основе TapHandler расположена у края экрана, она может использоваться для соблюдения Закона Фиттса: реагировать на щелчки мыши у края экрана, даже если кнопка визуально смещена от края на несколько пикселей.
Значение по умолчанию — 0.
[только для чтения] parent : Item
Элемент Item, который является областью действия обработчика; элемент, в котором он был объявлен. Обработчик будет обрабатывать события от имени этого элемента, что означает, что событие указателя актуально, если хотя бы одна из его точек событий попадает в внутреннюю часть элемента. Изначально target() совпадает, но его можно переназначить.
См. также target и QObject::parent().
target : Item
Элемент Item, который будет манипулировать этот обработчик.
По умолчанию он совпадает с parent, элементом, в котором объявлен обработчик. Однако иногда бывает полезно установить target на другой элемент, чтобы обрабатывать события в одном элементе, но манипулировать другим; или null, чтобы отключить поведение по умолчанию и сделать что-то другое вместо этого.
Документация по сигналам
canceled(EventPoint point)
Если этот обработчик уже захватил указанную point, этот сигнал испускается, когда захват крадёт другой Pointer Handler или Item.
Примечание: Соответствующий обработчик — 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-5.15/qml-qtquick-pointerhandler.html