Тип QML HandlerPoint
Точка события. Подробнее...
| Заявление импорта: | import QtQuick 2.12 |
Свойства
- ellipseDiameters : размер
- id : int
- modifiers : перечисление
- position : QPointF
- pressPosition : QPointF
- pressedButtons : перечисление
- pressure : qreal
- rotation : qreal
- sceneGrabPosition : QPointF
- scenePosition : QPointF
- scenePressPosition : QPointF
- uniqueId : PointingDeviceUniqueId
- velocity : QVector2D
Подробное описание
Представление QML для QQuickEventPoint.
Возможна привязка к свойствам текущей точки обработчика SinglePointHandler. Например:
import QtQuick 2.12
Item {
width: 640
height: 480
DragHandler {
id: handler
target: null
}
Text {
color: handler.active ? "darkgreen" : "black"
text: handler.centroid.centroid.x.toFixed(1) + "," + handler.centroid.position.y.toFixed(1)
x: handler.centroid.position.x - width / 2
y: handler.centroid.position.y - height
}
} Точка обновляется, когда DragHandler активно реагирует на EventPoint; но когда точка отпускается или текущую точку обрабатывает другой обработчик, position.x и position.y равны 0.
Примечание: По существу, это идентично QtQuick::EventPoint; однако EventPoint — долгоживущий QObject, который становится недействительным между жестами и повторно используется для последующей доставки событий. Непрерывные привязки к его свойствам невозможны, и отдельный обработчик не может полагаться на него за пределами периода, когда эта точка является частью активного жеста, который обрабатывает этот обработчик. HandlerPoint — Q_GADGET, которым владеет обработчик. Это позволяет создавать привязки к его свойствам на протяжении всего жизненного цикла.
См. также SinglePointHandler::point.
Документация по свойствам
[только для чтения] ellipseDiameters : размер
Это свойство содержит диаметры контактной области, если событие исходит от точки касания, и устройство предоставляет эту информацию.
Точка касания моделируется как эллиптическая область, где палец нажат на сенсорный экран. (На самом деле, ее можно смоделировать и как битовое отображение; но в этом случае мы ожидаем, что к контактной области будет применено эллиптическое приближение до отправки события.) Чем сильнее пользователь нажимает, тем больше контактная область; поэтому эти диаметры предлагают альтернативный способ обнаружения давления, если устройство не содержит отдельного датчика давления. Эллипс центрирован на scenePosition (position в локальных координатах элемента обработчика PointerHandler). Свойство rotation предоставляет угол поворота эллипса, если он известен. Ожидается, что если rotation равен нулю, высота будет большей размерностью (главной осью) из-за обычного расположения руки, направленной вверх или наружу по поверхности.
Если контактная область неизвестна или устройство не является сенсорным, эти значения будут нулевыми.
См. также QtQuick::EventTouchPoint::ellipseDiameters, QtQuick::TouchPoint::ellipseDiameters и QTouchEvent::TouchPoint::ellipseDiameters.
[только для чтения] id : int
Идентификатор точки.
Во время жеста касания с момента нажатия первого пальца до отпуска последнего каждый точке касания будет присвоен уникальный идентификатор. Точно так же, если происходит ввод с нескольких устройств (например, одновременные нажатия мыши и касания), все текущие точки событий со всех устройств будут иметь уникальные идентификаторы.
Примечание: Не предполагайте, что идентификаторы начинаются с нуля или идут последовательно. Такое предположение часто оказывается неверным из-за работы драйверов.
См. также QTouchEvent::TouchPoint::id.
[только для чтения] modifiers : перечисление
Нажатые модификаторы клавиш.
Это свойство содержит нажатые модификаторы клавиш клавиатуры в момент возникновения события.
[только для чтения] position : QPointF
Положение в элементе parent.
Это положение точки события относительно границ родительского элемента.
[только для чтения] pressPosition : QPointF
Положение нажатия в элементе parent.
Это положение, в котором эта точка была нажата, относительно границ родительского элемента.
[только для чтения] pressedButtons : перечисление
Нажатые кнопки мыши или стилуса.
См. также MouseArea::pressedButtons.
[только для чтения] pressure : qreal
Это свойство указывает, с какой силой пользователь нажимает стилусом на планшет или пальцем на сенсорный экран в диапазоне от 0 (нет ощутимого давления) до 1.0 (максимальное измеряемое давление).
Действительно только для некоторых планшетов и сенсорных экранов, измеряющих давление. В противном случае будет равно нулю.
[только для чтения] rotation : qreal
Это свойство содержит угол поворота стилуса на графическом планшете или угол поворота контактной области точки касания на сенсорном экране.
Действительно только для некоторых планшетов и сенсорных экранов, измеряющих угол поворота. В противном случае будет равно нулю.
[только для чтения] sceneGrabPosition : QPointF
Положение захвата в сцене.
Если эта точка была захвачена обработчиком указателя или элементом, это означает, что этот объект взял на себя полную ответственность за обработку перемещения и отпускания этой точки. В этом случае это положение захвата в системе координат дерева сцены.
[только для чтения] scenePosition : QPointF
Положение в сцене.
Это положение точки события относительно границ сцены Qt Quick (обычно всего окна).
[только для чтения] scenePressPosition : QPointF
Положение нажатия в сцене.
Это положение, в котором эта точка была нажата, в системе координат дерева сцены.
[только для чтения] uniqueId : PointingDeviceUniqueId
Уникальный идентификатор точки, если есть.
Обычно пусто, поскольку сенсорные экраны не могут однозначно идентифицировать пальцы.
На некоторых типах сенсорных экранов, особенно тех, которые используют драйверы TUIO, возможно использование распознаваемых физических маркеров (объектов фиксации) в дополнение к пальцам. Поэтому, если эта точка — точка касания и uniqueId задано, это идентификатор такого объекта.
На графическом планшете каждый тип стилуса или другого инструмента часто имеет уникальный идентификатор или серийный номер, что может быть полезно для реакции различными способами на разные инструменты.
Для интерпретации содержимого этого идентификатора требуется знание используемого оборудования и драйверов.
См. также QTabletEvent::uniqueId, QtQuick::TouchPoint::uniqueId и QtQuick::EventTouchPoint::uniqueId.
[только для чтения] velocity : QVector2D
Вектор, представляющий среднюю скорость и направление движения.
Это вектор скорости, направленный в направлении движения, в логических пикселях в секунду. Он имеет x и y компоненты, по крайней мере один из которых будет отличным от нуля, когда эта точка движется. Хранит среднюю недавнюю скорость: насколько быстро и в каком направлении точка события недавно двигалась.
См. также QtQuick::EventPoint::velocity, QtQuick::TouchPoint::velocity и QTouchEvent::TouchPoint::velocity.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qml-qtquick-handlerpoint.html