Тип QML HandlerPoint
Точка события. Подробнее...
| Заявление об импорте: | import QtQuick 2.1 |
Свойства
- ellipseDiameters : размер
- id : int
- modifiers : перечисление
- position : QPointF
- pressPosition : QPointF
- pressedButtons : перечисление
- pressure : qreal
- rotation : qreal
- sceneGrabPosition : QPointF
- scenePosition : QPointF
- scenePressPosition : QPointF
- uniqueId : pointingDeviceUniqueId
- velocity : QVector2D
Подробное описание
QML представление QEventPoint.
Возможна привязка к свойствам текущей точки обработчика point или centroid. Например:
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::TouchPoint::ellipseDiameters и QEventPoint::ellipseDiameters.
[только для чтения] id : int
Идентификатор точки
Во время жеста касания, от первого нажатия пальца до последнего отпускания, каждая точка касания будет иметь уникальный идентификатор. Аналогично, если происходит ввод от нескольких устройств (например, одновременное нажатие мышью и касанием), все текущие точки событий от всех устройств будут иметь уникальные идентификаторы.
Примечание: Не предполагайте, что идентификаторы начинаются с нуля или что они являются последовательными. Такое предположение часто ложно из-за работы базовых драйверов.
См. также QEventPoint::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.
[только для чтения] velocity : QVector2D
Вектор, представляющий среднюю скорость и направление движения
Это вектор скорости, направленный в направлении движения, в логических пикселях в секунду. Он имеет компоненты x и y, по крайней мере один из которых будет отличен от нуля, когда эта точка движется. Он содержит среднюю недавнюю скорость: насколько быстро и в каком направлении точка события перемещалась в последнее время.
См. также QtQuick::TouchPoint::velocity и QEventPoint::velocity.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qml-qtquick-handlerpoint.html