Spec-Zone.ru › Qt 5.13

Тип QML MultiPointHandler

Абстрактный обработчик событий Pointer Events для нескольких точек. Подробнее...

Заявление об импорте: import QtQuick 2.13
С момента: Qt 5.10
Наследует:

PointerDeviceHandler

Наследуется от:

DragHandler и PinchHandler

  • Список всех членов, включая наследуемые

Свойства

  • acceptedButtons : flags
  • acceptedDevices : flags
  • acceptedModifiers : flags
  • acceptedPointerTypes : flags
  • active : bool
  • centroid : QtQuick::HandlerPoint
  • enabled : bool
  • grabPermissions : flags
  • margin : real
  • maximumPointCount : int
  • minimumPointCount : int
  • parent : Item
  • target : Item

Сигналы

  • canceled(point)
  • grabChanged(transition, EventPoint point)

Подробное описание

Промежуточный класс (не зарегистрированный как тип QML) для любого типа обработчика, который требует и действует на определённом количестве точек касания.

Документация по свойствам

acceptedButtons : flags

Кнопки мыши, которые могут активировать этот обработчик Pointer Handler.

По умолчанию это свойство установлено в Qt.LeftButton. Его можно установить как логическое ИЛИ сочетание кнопок мыши, и оно будет игнорировать события от других кнопок.

Например, элемент управления может реагировать на щелчки левой и правой кнопок по-разному, с помощью двух обработчиков:

Item {
    TapHandler {
        onTapped: console.log("left clicked")
    }
    TapHandler {
        acceptedButtons: Qt.RightButton
        onTapped: console.log("right clicked")
    }
}

Примечание: Нажатие на сенсорном экране или нажатие стилусом на графическом планшете эмулирует щелчок левой кнопкой мыши. Это поведение можно изменить с помощью acceptedDevices или acceptedPointerTypes.

acceptedDevices : flags

Типы указательных устройств, которые могут активировать этот обработчик Pointer Handler.

По умолчанию это свойство установлено в PointerDevice.AllDevices. Если вы установите его как логическое ИЛИ сочетание типов устройств, оно будет игнорировать события от несовпадающих устройств.

Например, элемент управления может реагировать на щелчки мыши и стилусом одним способом, а на касания на сенсорном экране — другим способом, с помощью двух обработчиков:

Item {
   TapHandler {
       acceptedDevices: PointerDevice.Mouse | PointerDevice.Stylus
       onTapped: console.log("clicked")
   }
   TapHandler {
       acceptedDevices: PointerDevice.TouchScreen
       onTapped: console.log("tapped")
   }
}

acceptedModifiers : flags

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

Если это свойство установлено в Qt.KeyboardModifierMask (значение по умолчанию), то PointerHandler игнорирует клавиши модификаторов.

Например, элемент Item может иметь два обработчика одного типа, один из которых активен только при нажатии требуемых клавиш модификаторов:

Item {
   TapHandler {
       acceptedModifiers: Qt.ControlModifier
       onTapped: console.log("control-tapped")
   }
   TapHandler {
       acceptedModifiers: Qt.NoModifier
       onTapped: console.log("tapped")
   }
}

acceptedPointerTypes : flags

Типы указательных инструментов (палец, стилус, ластик и т. д.), которые могут активировать этот обработчик Pointer Handler.

По умолчанию это свойство установлено в PointerDevice.AllPointerTypes. Если вы установите его как логическое ИЛИ сочетание типов устройств, оно будет игнорировать события от несовпадающих событий.

Например, элемент управления может реагировать на щелчки мышью, касаниями и стилусом каким-либо способом, но удалить себя, если на графическом планшете на него нажали ластиком, с помощью двух обработчиков:

Rectangle {
   id: rect
   TapHandler {
       acceptedPointerTypes: PointerDevice.GenericPointer | PointerDevice.Finger | PointerDevice.Pen
       onTapped: console.log("clicked")
   }
   TapHandler {
       acceptedPointerTypes: PointerDevice.Eraser
       onTapped: rect.destroy()
   }
}

[только для чтения] active : bool

Это значение истинно всякий раз, когда этот обработчик ввода принимает на себя полную ответственность за обработку одной или нескольких EventPoints, успешно захватив эксклюзивный захват этих точек. Это означает, что он поддерживает актуальность своих свойств в соответствии с перемещениями этих точек Event и активно манипулирует своим target (если таковой имеется).

[только для чтения] centroid : QtQuick::HandlerPoint

Точка, расположенная точно посередине текущих нажатых точек касания. Если нажата только одна точка, она совпадает с этой точкой. Обработчик, имеющий target, обычно преобразует её относительно этой точки.

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 Этот обработчик разрешит установить свой захват в null.
PointerHandler.ApprovesTakeOverByAnything Этот обработчик предоставляет разрешение любому типу Item или Handler на захват.

По умолчанию PointerHandler.CanTakeOverFromItems | PointerHandler.CanTakeOverFromHandlersOfDifferentType | PointerHandler.ApprovesTakeOverByAnything, что разрешает большинство сценариев захвата, но избегает, например, конфликта между двумя PinchHandlers за те же точки касания.

margin : real

Поле за пределами границ элемента parent, в котором точка события может активировать этот обработчик. Например, в PinchHandler, где target также является parent, полезно установить это значение на расстояние, по крайней мере, равное половине ширины типичного пальца пользователя, чтобы если parent был уменьшен до очень малого размера, жесты масштабирования все ещё были возможны. Или, если кнопка на основе TapHandler расположена возле края экрана, она может использоваться для соблюдения закона Фиттса: реагировать на щелчки мыши на краю экрана, даже если кнопка визуально отстоит от края на несколько пикселей.

Значение по умолчанию — 0.

maximumPointCount : int

Максимальное количество точек касания, которое может использовать этот обработчик.

Если количество точек касания, соприкасающихся с parent, больше, то необходимое количество точек будет выбрано в порядке их нажатия, а оставшиеся точки будут проигнорированы.

Любые проигнорированные точки могут активировать другие обработчики ввода, имеющие различные ограничения, в том же элементе или в других элементах.

Значение по умолчанию совпадает со значением minimumPointCount.

minimumPointCount : int

Минимальное количество точек касания, необходимое для активации этого обработчика.

Если количество точек касания, соприкасающихся с parent, меньше, они будут проигнорированы.

Любые проигнорированные точки могут активировать другие обработчики ввода, имеющие различные ограничения, в том же элементе или в других элементах.

Значение по умолчанию — 2.

[только для чтения] parent : Item

Элемент Item, являющийся областью действия обработчика; Элемент, в котором он был объявлен. Обработчик будет обрабатывать события от имени этого элемента, что означает, что событие касания актуально, если хотя бы одна из его точек событий находится внутри области элемента. Изначально target() совпадает, но его можно переназначить.

См. также target и QObject::parent().

target : Item

Элемент Item, который будет обрабатываться этим обработчиком.

По умолчанию он совпадает с parent, элементом Item, в котором объявлен обработчик. Однако иногда бывает полезно установить target на другой элемент Item, чтобы обрабатывать события внутри одного элемента, но манипулировать другим; или чтобы null, чтобы отключить стандартное поведение и сделать что-то другое вместо этого.

Документация сигналов

canceled(point)

Если этот обработчик уже захватил заданную точку point, этот сигнал отправляется, когда захват захватывается другим обработчиком касаний или элементом.

grabChanged(transition, EventPoint point)

Этот сигнал отправляется, когда захват каким-либо образом изменился, что актуально для данного обработчика.

transition (глагол) показывает, что произошло. point (объект) — это точка, которая была захвачена или освобождена.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qml-qtquick-multipointhandler.html

Spec-Zone.ru

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