Тип QML MapGestureArea
Тип MapGestureArea предоставляет взаимодействие с жестами карты. Подробнее...
| Оператор импорта: | import QtLocation 5.15 |
| С тех пор: | QtLocation 5.0 |
Свойства
- acceptedGestures : перечисление
- enabled : bool
- flickDeceleration : real
- maximumZoomLevelChange : real
- panActive : bool
- pinchActive : bool
- preventStealing : bool
- rotationActive : bool
- tiltActive : bool
Сигналы
- flickFinished()
- flickStarted()
- panFinished()
- panStarted()
- pinchFinished(PinchEvent event)
- pinchStarted(PinchEvent event)
- pinchUpdated(PinchEvent event)
- rotationFinished(PinchEvent event)
- rotationStarted(PinchEvent event)
- rotationUpdated(PinchEvent event)
- tiltFinished(PinchEvent event)
- tiltStarted(PinchEvent event)
- tiltUpdated(PinchEvent event)
Подробное описание
Объекты MapGestureArea используются в качестве части карты для обеспечения панорамирования, быстрого перемещения и масштабирования с помощью жестов, используемых на сенсорных дисплеях, а также поворота двумя пальцами и параллельного вертикального сдвига двумя пальцами для наклона карты. На платформах, поддерживающих QWheelEvent, использование колесика прокрутки в одиночку или в сочетании с модификаторами клавиш Shift или Control также соответственно масштабирует, поворачивает или наклоняет карту.
MapGestureArea автоматически создается с новой картой и доступен со свойством gesture. Это единственный способ создания MapGestureArea, и после создания таким способом его нельзя уничтожить без родительской карты.
Два наиболее часто используемых свойства MapGestureArea — это свойства enabled и acceptedGestures. Оба этих свойства должны быть установлены перед тем, как MapGestureArea окажет какое-либо влияние на взаимодействие с картой. Свойство flickDeceleration контролирует скорость замедления панорамирования карты после отпускания контакта при панорамировании карты.
Производительность
MapGestureArea, когда он включен, должен обрабатывать все входящие сенсорные события, чтобы отслеживать форму и размер «прищипывания». Накладные расходы на сенсорные события могут считаться постоянными по времени.
Пример использования
В следующем примере включены жесты pinch и pan на карте, но не быстрое перемещение. Таким образом, прокрутка карты прекратится сразу же при отпускании кнопки мыши/сенсорного касания.
Map {
gesture.enabled: true
gesture.acceptedGestures: MapGestureArea.PinchGesture | MapGestureArea.PanGesture
} Документация по свойствам
acceptedGestures : перечисление
Это свойство содержит битовую маску жестов, которые принимаются. По умолчанию все жесты включены.
| Константа | Описание |
|---|---|
MapGestureArea.NoGesture |
Не поддерживает дополнительные жесты (значение: 0x0000). |
MapGestureArea.PinchGesture |
Поддерживает жест прищипывания карты (значение: 0x0001). |
MapGestureArea.PanGesture |
Поддерживает жест панорамирования карты (значение: 0x0002). |
MapGestureArea.FlickGesture |
Поддерживает жест быстрого перемещения карты (значение: 0x0004). |
MapGestureArea.RotationGesture |
Поддерживает жест поворота карты (значение: 0x0008). |
MapGestureArea.TiltGesture |
Поддерживает жест наклона карты (значение: 0x0010). |
enabled : bool
Это свойство указывает, включены ли жесты.
flickDeceleration : real
Это свойство задаёт скорость замедления быстрого перемещения.
Значение по умолчанию — 2500.
maximumZoomLevelChange : real
Это свойство задаёт максимальное изменение уровня масштабирования при прищипывании, по сути, предназначенное для установки чувствительности масштабирования.
Это показательное значение, рассчитанное по размерам области карты, примерно соответствующее тому, насколько может измениться уровень масштабирования при максимальном прищипывании. Значение по умолчанию — 4.0, максимальное значение — 10.0.
panActive : bool
Это только для чтения свойство, которое указывает, активен ли жест панорамирования.
Примечание: Уведомления об изменениях для этого свойства были добавлены в Qt 5.5.
pinchActive : bool
Это только для чтения свойство, которое указывает, активен ли жест прищипывания.
preventStealing : bool
Это свойство определяет, могут ли быть украдены события мыши у данного MapGestureArea.
Если карта помещена в элемент, который фильтрует события мыши и сенсорного касания дочерних элементов, например Flickable, события мыши и сенсорного касания могут быть украдены у MapGestureArea, если родительский элемент распознаёт жест, например, жест быстрого перемещения. Если preventStealing установлено в true, ни один элемент не будет красть события мыши и сенсорного касания.
Обратите внимание, что установка preventStealing в true после того, как элемент начал красть события, не влияет на это, пока не произойдёт следующее событие нажатия.
По умолчанию это свойство установлено в false.
rotationActive : bool
Это только для чтения свойство, которое указывает, активен ли жест поворота двумя пальцами.
Это свойство было добавлено в QtLocation 5.9.
tiltActive : bool
Это только для чтения свойство, которое указывает, активен ли жест наклона двумя пальцами.
Это свойство было добавлено в QtLocation 5.9.
Документация по сигналам
flickFinished()
Этот сигнал испускается, когда карта перестаёт двигаться из-за быстрого перемещения.
Соответствующий обработчик — onFlickFinished.
Примечание: Соответствующий обработчик — onFlickFinished.
flickStarted()
Этот сигнал испускается, когда карта начинает быстрое перемещение. Быстрое перемещение начинается в точке, где была отпущена кнопка мыши или сенсорное касание, при одновременном движении.
Соответствующий обработчик — onFlickStarted.
Примечание: Соответствующий обработчик — onFlickStarted.
panFinished()
Этот сигнал испускается, когда карта перестаёт двигаться из-за взаимодействия пользователя. Если было произведено быстрое перемещение, этот сигнал испускается до начала быстрого перемещения. Если быстрое перемещение не было произведено, этот сигнал испускается, когда пользователь прекращает перетаскивание — то есть отпускает кнопку мыши или сенсорное касание.
Соответствующий обработчик — onPanFinished.
Примечание: Соответствующий обработчик — onPanFinished.
panStarted()
Этот сигнал испускается, когда карта начинает двигаться из-за взаимодействия пользователя. Обычно это означает, что пользователь перетаскивает палец — или мышь с нажатой одной или несколькими кнопками — по карте.
Соответствующий обработчик — onPanStarted.
Примечание: Соответствующий обработчик — onPanStarted.
pinchFinished(PinchEvent event)
Этот сигнал испускается в конце жеста прищипывания.
Информация о событии прищипывания предоставляется в event.
Соответствующий обработчик — onPinchFinished.
Примечание: Соответствующий обработчик — onPinchFinished.
См. также pinchStarted и pinchUpdated.
pinchStarted(PinchEvent event)
Этот сигнал излучается при начале жеста щипка.
Информация о событии щипка предоставляется в event.
Соответствующий обработчик — onPinchStarted.
Примечание: Соответствующий обработчик — onPinchStarted.
См. также pinchUpdated и pinchFinished.
pinchUpdated(PinchEvent event)
Этот сигнал излучается, когда пальцы пользователя перемещаются по карте после излучения сигнала pinchStarted.
Информация о событии щипка предоставляется в event.
Соответствующий обработчик — onPinchUpdated.
Примечание: Соответствующий обработчик — onPinchUpdated.
См. также pinchStarted и pinchFinished.
rotationFinished(PinchEvent event)
Этот сигнал излучается в конце жеста вращения двумя пальцами.
Информация о событии щипка предоставляется в event.
Соответствующий обработчик — onRotationFinished.
Примечание: Соответствующий обработчик — onRotationFinished.
Этот сигнал был представлен в QtLocation 5.9.
См. также rotationStarted() и rotationUpdated().
rotationStarted(PinchEvent event)
Этот сигнал излучается при начале жеста вращения двумя пальцами.
Информация о событии щипка предоставляется в event.
Соответствующий обработчик — onRotationStarted.
Примечание: Соответствующий обработчик — onRotationStarted.
Этот сигнал был представлен в QtLocation 5.9.
См. также rotationUpdated() и rotationFinished().
rotationUpdated(PinchEvent event)
Этот сигнал излучается, когда пальцы пользователя перемещаются по карте после излучения сигнала rotationStarted().
Информация о событии щипка предоставляется в event.
Соответствующий обработчик — onRotationUpdated.
Примечание: Соответствующий обработчик — onRotationUpdated.
Этот сигнал был представлен в QtLocation 5.9.
См. также rotationStarted() и rotationFinished().
tiltFinished(PinchEvent event)
Этот сигнал излучается в конце жеста наклона двумя пальцами.
Информация о событии щипка предоставляется в event.
Соответствующий обработчик — onTiltFinished.
Примечание: Соответствующий обработчик — onTiltFinished.
Этот сигнал был представлен в QtLocation 5.9.
См. также tiltStarted() и tiltUpdated().
tiltStarted(PinchEvent event)
Этот сигнал излучается при начале жеста наклона двумя пальцами.
Информация о событии щипка предоставляется в event.
Соответствующий обработчик — onTiltStarted.
Примечание: Соответствующий обработчик — onTiltStarted.
Этот сигнал был представлен в QtLocation 5.9.
См. также tiltUpdated() и tiltFinished().
tiltUpdated(PinchEvent event)
Этот сигнал излучается, когда пальцы пользователя перемещаются по карте после излучения сигнала tiltStarted.
Информация о событии щипка предоставляется в event.
Соответствующий обработчик — onTiltUpdated.
Примечание: Соответствующий обработчик — onTiltUpdated.
Этот сигнал был представлен в QtLocation 5.9.
См. также tiltStarted() и tiltFinished().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qml-qtlocation-mapgesturearea.html