Тип QML HandlerPoint
Точка события. Подробнее...
| Заявление импорта: | import QtQuick 2.15 |
Свойства
- 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.
Возможна привязка к свойствам текущей точки или центра обработчика. Например:
import QtQuick 2.12
Item {
width: 640
height: 480
DragHandler {
id: handler
target: null
}
Text {
color: handler.active ? "darkgreen" : "black"
text: handler.centroid.position.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 и MultiPointHandler::centroid.
Документация по свойствам
[только для чтения] 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
Позиция захвата в сцене
Если эта точка была захвачена обработчиком Pointer или элементом, это означает, что этот объект взял на себя полную ответственность за обработку перемещения и отпускания этой точки. В этом случае это положение, в котором произошел захват, в системе координат дерева сцены.
[только для чтения] 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.15/qml-qtquick-handlerpoint.html