Spec-Zone.ru › Qt 6.0

Тип QML HandlerPoint

Точка события. Подробнее...

Заявление об импорте: import QtQuick 2.0
  • Список всех членов, включая унаследованные

Свойства

  • 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, возможно использование узнаваемых физических маркеров (объектов фидуциала) помимо пальцев. Таким образом, если эта точка является точкой касания и уникальный идентификатор установлен, это идентификатор такого объекта.

На графическом планшете каждый тип стилуса или другого инструмента часто имеет уникальный идентификатор или серийный номер, что может быть полезно для реагирования различными способами на разные инструменты.

Для интерпретации содержимого этого идентификатора необходимо знание используемого оборудования и драйверов.

См. также 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.0/qml-qtquick-handlerpoint.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API