Тип QML PointerHandler
Абстрактный обработчик событий указателя. Подробнее...
| Заявление об импорте: | import QtQuick 2.1 |
| С тех пор: | 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
Значение по умолчанию не задано, что позволяет отображаться курсору cursor элемента 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 |
Этот обработчик не принимает и не предоставляет разрешение на захват ни для какого типа Item или Handler. |
PointerHandler.CanTakeOverFromHandlersOfSameType |
Этот обработчик может захватить исключительный захват от другого обработчика того же класса. |
PointerHandler.CanTakeOverFromHandlersOfDifferentType |
Этот обработчик может захватить исключительный захват от любого типа обработчика. |
PointerHandler.CanTakeOverFromAnything |
Этот обработчик может захватить исключительный захват от любого типа Item или Handler. |
PointerHandler.ApprovesTakeOverByHandlersOfSameType |
Этот обработчик предоставляет разрешение другому обработчику того же класса на захват. |
PointerHandler.ApprovesTakeOverByHandlersOfDifferentType |
Этот обработчик предоставляет разрешение любому типу обработчика на захват. |
PointerHandler.ApprovesTakeOverByItems |
Этот обработчик предоставляет разрешение любому типу Item на захват. |
PointerHandler.ApprovesCancellation |
Этот обработчик позволит своему захвату стать нулевым. |
PointerHandler.ApprovesTakeOverByAnything |
Этот обработчик предоставляет разрешение любому типу Item или Handler на захват. |
Значение по умолчанию — 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, этот сигнал генерируется, когда захват украден другим 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.1/qml-qtquick-pointerhandler.html