Spec-Zone.ru › Qt 5.13

Тип QML SinglePointHandler

Абстрактный обработчик событий касания Single-Point. Подробнее...

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

PointerDeviceHandler

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

PointHandler и TapHandler

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

Свойства

  • acceptedButtons : флаги
  • acceptedDevices : флаги
  • acceptedModifiers : флаги
  • acceptedPointerTypes : флаги
  • active : bool
  • enabled : bool
  • grabPermissions : флаги
  • margin : вещественное число
  • parent : Item
  • point : HandlerPoint
  • target : Item

Сигналы

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

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

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

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

acceptedButtons : флаги

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

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

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

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

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

acceptedDevices : флаги

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

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

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

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

acceptedModifiers : флаги

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

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

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

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

acceptedPointerTypes : флаги

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

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

enabled : bool

Если PointerHandler отключен, он отклонит все события, и никакие сигналы не будут излучаться.

grabPermissions : флаги

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

Постоянная Описание
PointerHandler.TakeOverForbidden Этот обработчик не получает и не предоставляет разрешение на захват ни для какого типа элемента Item или обработчика.
PointerHandler.CanTakeOverFromHandlersOfSameType Этот обработчик может захватить эксклюзивный доступ у другого обработчика того же класса.
PointerHandler.CanTakeOverFromHandlersOfDifferentType Этот обработчик может захватить эксклюзивный доступ у любого типа обработчика.
PointerHandler.CanTakeOverFromAnything Этот обработчик может захватить эксклюзивный доступ у любого типа элемента Item или обработчика.
PointerHandler.ApprovesTakeOverByHandlersOfSameType Этот обработчик предоставляет разрешение другому обработчику того же класса захватить доступ.
PointerHandler.ApprovesTakeOverByHandlersOfDifferentType Этот обработчик предоставляет разрешение любому типу обработчика захватить доступ.
PointerHandler.ApprovesTakeOverByItems Этот обработчик предоставляет разрешение любому типу элемента Item захватить доступ.
PointerHandler.ApprovesCancellation Этот обработчик позволит установить его захват в null.
PointerHandler.ApprovesTakeOverByAnything Этот обработчик предоставляет разрешение любому типу элемента Item или обработчика захватить доступ.

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

margin : вещественное число

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

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

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

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

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

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

Точка события, обрабатываемая в настоящее время. Когда никакая точка не обрабатывается в настоящее время, этот объект сбрасывается до значений по умолчанию (все координаты равны 0).

target : Item

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

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

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

canceled(point)

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

grabChanged(transition, EventPoint point)

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

Переход (глагол) указывает, что произошло. Точка (объект) — это точка, которая была захвачена или отпущена.

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

Spec-Zone.ru

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