Spec-Zone.ru › Qt 5.12

Тип QML MultiPointHandler

Абстрактный обработчик событий многоточечного касания. Подробнее...

Заявление об импорте: import QtQuick 2.12
С момента: 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(EventPoint point)
  • grabChanged(GrabTransition transition, EventPoint point)

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

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

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

acceptedButtons : flags

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

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

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

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

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

acceptedDevices : flags

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

По умолчанию это свойство установлено в 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.

По умолчанию это свойство установлено в 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

Это значение истинно всякий раз, когда этот обработчик ввода взял на себя полную ответственность за обработку одного или нескольких EventPoint, успешно захватив эксклюзивный доступ к этим точкам. Это означает, что он сохраняет актуальность своих свойств в соответствии с перемещениями этих EventPoint и активно управляет своим 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, что позволяет большинству сценариев захвата, но избегает, например, конфликта между двумя PinchHandler за одними и теми же точками касания.

margin : real

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

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

maximumPointCount : int

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

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

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

Значение по умолчанию такое же, как minimumPointCount.

minimumPointCount : int

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

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

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

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

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

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

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

target : Item

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

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

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

canceled(EventPoint point)

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

grabChanged(GrabTransition 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.12/qml-qtquick-multipointhandler.html

Spec-Zone.ru

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