Spec-Zone.ru › Qt 5.6

Тип QML MultiPointTouchArea

Обеспечивает обработку нескольких точек касания Подробнее...

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

Item

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

Свойства

  • maximumTouchPoints : int
  • minimumTouchPoints : int
  • mouseEnabled : bool
  • touchPoints : список<TouchPoint>

Сигналы

  • canceled(список<TouchPoint> touchPoints)
  • gestureStarted(GestureEvent gesture)
  • pressed(список<TouchPoint> touchPoints)
  • released(список<TouchPoint> touchPoints)
  • touchUpdated(список<TouchPoint> touchPoints)
  • updated(список<TouchPoint> touchPoints)

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

MultiPointTouchArea — это невидимый элемент, используемый для отслеживания нескольких точек касания.

Свойство Item::enabled используется для включения и отключения обработки касаний. При отключении область касания становится прозрачной для событий мыши и касания.

По умолчанию мышь обрабатывается так же, как одиночная точка касания, и элементы под областью касания не получают событий мыши, поскольку область касания их обрабатывает. Но если свойство mouseEnabled установлено в false, область становится прозрачной для событий мыши, чтобы другой чувствительный к мыши элемент (например, MouseArea) мог обрабатывать взаимодействие с мышью отдельно.

MultiPointTouchArea может использоваться двумя способами:

  • установка touchPoints для предоставления объектам точек касания свойств, к которым можно привязаться
  • использование обработчиков onTouchUpdated или onPressed, onUpdated и onReleased

Хотя MultiPointTouchArea может захватить исключительное право на определённые точки касания, также возможно одновременное существование нескольких активных MultiPointTouchAreas, каждый из которых работает с разными наборами точек касания.

См. также TouchPoint.

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

maximumTouchPoints : int

Эти свойства содержат диапазон точек касания, которые должна обрабатывать область касания.

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

По умолчанию обрабатываются все точки касания в области.

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

minimumTouchPoints : int

Эти свойства содержат диапазон точек касания, которые должна обрабатывать область касания.

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

По умолчанию обрабатываются все точки касания в области.

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

mouseEnabled : bool

Это свойство управляет тем, будет ли MultiPointTouchArea также обрабатывать события мыши. Если оно равно true (по умолчанию), область касания будет рассматривать мышь как одиночную точку касания; если оно равно false, область касания будет игнорировать события мыши и позволять им «проходить сквозь», чтобы они могли обрабатываться другими элементами под ней.

touchPoints : список<TouchPoint>

Это свойство содержит набор пользовательских объектов точек касания, к которым можно привязаться.

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

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

import QtQuick 2.0

Rectangle {
    width: 400; height: 400
    MultiPointTouchArea {
        anchors.fill: parent
        touchPoints: [
            TouchPoint { id: point1 },
            TouchPoint { id: point2 }
        ]
    }

    Rectangle {
        width: 30; height: 30
        color: "green"
        x: point1.x
        y: point1.y
    }

    Rectangle {
        width: 30; height: 30
        color: "yellow"
        x: point2.x
        y: point2.y
    }
}

По умолчанию это свойство содержит пустой список.

См. также TouchPoint.

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

canceled(список<TouchPoint> touchPoints)

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

Этот сигнал предназначен для продвинутого использования: он полезен, когда существует более одного MultiPointTouchArea, обрабатывающего ввод, или когда есть MultiPointTouchArea внутри Flickable. В последнем случае, если вы выполняете какую-либо логику в обработчике сигнала onPressed, а затем начинаете перетаскивание, Flickable может захватить обработку касания от MultiPointTouchArea. В этих случаях для сброса логики, когда MultiPointTouchArea потерял обработку касания Flickable, необходимо обработать canceled, помимо released.

touchPoints — список отменённых точек.

Соответствующий обработчик — onCanceled.

gestureStarted(GestureEvent gesture)

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

Этот сигнал обычно используется, когда MultiPointTouchArea вложен в Flickable или другой MultiPointTouchArea. Когда порог достигнут и сигнал обработан, вы можете определить, должен ли область касания захватить текущие точки касания. По умолчанию они не захватываются; чтобы захватить их, вызовите gesture.grab(). Если жест не захвачен, вложенный Flickable, например, также получит возможность захватить.

Объект жеста также содержит информацию о текущем наборе touchPoints и dragThreshold.

Соответствующий обработчик — onGestureStarted.

pressed(список<TouchPoint> touchPoints)

Этот сигнал излучается, когда добавляются новые точки касания. touchPoints — список этих новых точек.

Если minimumTouchPoints установлено в значение больше единицы, этот сигнал не будет излучен, пока не будет достигнуто минимальное количество необходимых точек касания.

Соответствующий обработчик — onPressed.

released(список<TouchPoint> touchPoints)

Этот сигнал излучается, когда удаляются существующие точки касания. touchPoints — список этих удалённых точек.

Соответствующий обработчик — onReleased.

touchUpdated(список<TouchPoint> touchPoints)

Этот сигнал излучается, когда точки касания, обрабатываемые MultiPointTouchArea, изменяются. Это включает добавление новых точек касания, удаление или отмену предыдущих точек касания, а также обновление данных текущих точек касания. touchPoints — список всех текущих точек касания.

Соответствующий обработчик — onTouchUpdated.

updated(список<TouchPoint> touchPoints)

Этот сигнал излучается, когда существующие точки касания обновляются. touchPoints — список этих обновлённых точек.

Соответствующий обработчик — onUpdated.

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

Spec-Zone.ru

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