Тип QML PointerHandler
Абстрактный обработчик событий указателя. Подробнее...
| Оператор импорта: | import QtQuick |
| С момента: | 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
Это значение истинно, когда этот обработчик ввода полностью отвечает за обработку одного или нескольких 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 был уменьшен до очень маленького размера, жест щипка всё ещё был возможен. Или, если кнопка на основе TapHandler расположена рядом с краем экрана, можно использовать его для соответствия закону Фиттса: реагировать на щелчки мыши на краю экрана, даже если кнопка визуально смещена от края на несколько пикселей.
Значение по умолчанию — 0.
[только для чтения] parent : Item
Элемент Item, который является областью действия обработчика; элемент, в котором он был объявлен. Обработчик будет обрабатывать события от имени этого элемента, что означает, что событие указателя релевантно, если хотя бы одна из его точек события находится внутри элемента. Изначально target() такое же, но его можно переназначить.
Примечание: Когда обработчик объявлен в объекте QtQuick3D.Model, родитель не является элементом Item, поэтому это свойство null.
См. также target и QObject::parent().
target : Item
Элемент Item, которым будет управлять этот обработчик.
По умолчанию он такой же, как parent, элемент, в котором объявлен обработчик. Однако иногда полезно установить целевой элемент на другой элемент Item, чтобы обработать события в одном элементе, но управлять другим; или чтобы null, чтобы отключить стандартное поведение и сделать что-то другое вместо него.
Документация по сигналам
canceled(EventPoint point)
Если этот обработчик уже захватил заданную точку point, этот сигнал излучается, когда захват украден другим обработчиком Pointer Handler или элементом.
Примечание: Соответствующий обработчик 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.2/qml-qtquick-pointerhandler.html