Тип QML MapGestureArea
Тип MapGestureArea предоставляет взаимодействие с жестами карты. Подробнее...
| Оператор импорта: | import QtLocation 5.13 |
| С: | 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(event)
- pinchStarted(event)
- pinchUpdated(event)
- rotationFinished(event)
- rotationStarted(event)
- rotationUpdated(event)
- tiltFinished(event)
- tiltStarted(event)
- tiltUpdated(event)
Подробное описание
MapGestureArea используются как часть карты, чтобы обеспечить панорамирование, подергивание и жесты масштабирования pinch-to-zoom на сенсорных дисплеях, а также вращение двумя пальцами и параллельное вертикальное скольжение двумя пальцами для наклона карты. На платформах, поддерживающих QWheelEvent, использование колесика прокрутки, в сочетании с клавишами Shift или Control, также обеспечит масштабирование, вращение или наклон карты, соответственно.
Объект MapGestureArea автоматически создается с новой картой и доступен со свойством gesture. Это единственный способ создать MapGestureArea, и после создания таким образом, его нельзя уничтожить без родительской карты.
Два наиболее часто используемых свойства MapGestureArea — это свойства enabled и acceptedGestures. Оба этих свойства должны быть установлены, прежде чем MapGestureArea будет оказывать какое-либо влияние на взаимодействие с картой. Свойство flickDeceleration управляет скоростью, с которой карта замедляется после отпускания контакта во время панорамирования карты.
Производительность
Объект MapGestureArea, при включении, должен обрабатывать все входящие события касания, чтобы отслеживать форму и размер «прищипывания». Надстройка, добавленная к событиям касания, может рассматриваться как постоянная по времени.
Пример использования
В следующем примере включены жесты прищипывания и панорамирования на карте, но не подергивание. Таким образом, прокрутка карты остановится сразу при отпускании кнопки мыши/касания.
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.
flickStarted()
Этот сигнал испускается, когда карта подергивается. Подергивание начинается с точки, где была отпущена кнопка мыши или касание, при сохранении движения.
Соответствующий обработчик — onFlichStarted.
panFinished()
Этот сигнал испускается, когда карта перестает двигаться из-за взаимодействия пользователя. Если было произведено подергивание, этот сигнал испускается до начала подергивания. Если подергивание не было произведено, этот сигнал испускается, когда пользователь перестаёт перетаскивать — то есть, отпускает кнопку мыши или касание.
Соответствующий обработчик — onPanFinished.
panStarted()
Этот сигнал испускается, когда карта начинает двигаться из-за взаимодействия пользователя. Обычно это означает, что пользователь перетаскивает палец — или мышь с нажатой одной или несколькими кнопками — по карте.
Соответствующий обработчик — onPanStarted.
pinchFinished(event)
Этот сигнал испускается в конце жеста прищипывания.
Информация о событии прищипывания предоставляется в event.
Соответствующий обработчик — onPinchFinished.
См. также pinchStarted и pinchUpdated.
pinchStarted(event)
Этот сигнал испускается при начале жеста прищипывания.
Информация о событии прищипывания предоставляется в event.
Соответствующий обработчик — onPinchStarted.
См. также pinchUpdated и pinchFinished.
pinchUpdated(event)
Этот сигнал испускается, когда пальцы пользователя перемещаются по карте после испускания сигнала pinchStarted.
Информация о событии pinch предоставляется в event.
Соответствующий обработчик — onPinchUpdated.
См. также pinchStarted и pinchFinished.
rotationFinished(event)
Этот сигнал испускается в конце жеста поворота двумя пальцами.
Информация о событии pinch предоставляется в event.
Соответствующий обработчик — onRotationFinished.
Этот сигнал был добавлен в QtLocation 5.9.
См. также rotationStarted() и rotationUpdated().
rotationStarted(event)
Этот сигнал испускается при начале жеста поворота двумя пальцами.
Информация о событии pinch предоставляется в event.
Соответствующий обработчик — onRotationStarted.
Этот сигнал был добавлен в QtLocation 5.9.
См. также rotationUpdated() и rotationFinished().
rotationUpdated(event)
Этот сигнал испускается, когда пальцы пользователя перемещаются по карте после испускания сигнала rotationStarted().
Информация о событии pinch предоставляется в event.
Соответствующий обработчик — onRotationUpdated.
Этот сигнал был добавлен в QtLocation 5.9.
См. также rotationStarted() и rotationFinished().
tiltFinished(event)
Этот сигнал испускается в конце жеста наклона двумя пальцами.
Информация о событии pinch предоставляется в event.
Соответствующий обработчик — onTiltFinished.
Этот сигнал был добавлен в QtLocation 5.9.
См. также tiltStarted() и tiltUpdated().
tiltStarted(event)
Этот сигнал испускается при начале жеста наклона двумя пальцами.
Информация о событии pinch предоставляется в event.
Соответствующий обработчик — onTiltStarted.
Этот сигнал был добавлен в QtLocation 5.9.
См. также tiltUpdated() и tiltFinished().
tiltUpdated(event)
Этот сигнал испускается, когда пальцы пользователя перемещаются по карте после испускания сигнала tiltStarted.
Информация о событии pinch предоставляется в event.
Соответствующий обработчик — 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.13/qml-qtlocation-mapgesturearea.html