Тип QML MapGestureArea
Тип MapGestureArea предоставляет взаимодействие с жестами карты. Подробнее...
| Заявление об импорте: | import QtLocation 5.12 |
| С тех пор: | 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, если он включен, должен обрабатывать все входящие сенсорные события, чтобы отслеживать форму и размер «пинцета». Надстройка, добавляемая к сенсорным событиям, может считаться постоянной во времени.
Пример использования
В следующем примере включены жесты масштабирования и панорамирования на карте, но не похлопывания. Таким образом, прокрутка карты немедленно остановится при отпускании кнопки мыши/сенсорного контакта.
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(PinchEvent event)
Этот сигнал излучается в конце жеста масштабирования.
Соответствующий обработчик — onPinchFinished.
См. также pinchStarted и pinchUpdated.
pinchStarted(PinchEvent event)
Этот сигнал излучается при начале жеста масштабирования.
Соответствующий обработчик — onPinchStarted.
См. также pinchUpdated и pinchFinished.
pinchUpdated(PinchEvent event)
Этот сигнал излучается, когда пальцы пользователя перемещаются по карте после излучения сигнала pinchStarted.
Соответствующий обработчик — onPinchUpdated.
См. также pinchStarted и pinchFinished.
rotationFinished(PinchEvent event)
Этот сигнал излучается в конце жеста поворота двумя пальцами.
Соответствующий обработчик — onRotationFinished.
Этот сигнал был введён в QtLocation 5.9.
См. также rotationStarted и rotationUpdated.
rotationStarted(PinchEvent event)
Этот сигнал излучается при начале жеста поворота двумя пальцами.
Соответствующий обработчик — onRotationStarted.
Этот сигнал был введён в QtLocation 5.9.
См. также rotationUpdated и rotationFinished.
rotationUpdated(PinchEvent event)
Этот сигнал излучается, когда пальцы пользователя перемещаются по карте после излучения сигнала rotationStarted.
Соответствующий обработчик — onRotationUpdated.
Этот сигнал был введён в QtLocation 5.9.
См. также rotationStarted и rotationFinished.
tiltFinished(PinchEvent event)
Этот сигнал излучается в конце жеста наклона двумя пальцами.
Соответствующий обработчик — onTiltFinished.
Этот сигнал был введён в QtLocation 5.9.
См. также tiltStarted и tiltUpdated.
tiltStarted(PinchEvent event)
Этот сигнал излучается при начале жеста наклона двумя пальцами.
Соответствующий обработчик — onTiltStarted.
Этот сигнал был введён в QtLocation 5.9.
См. также tiltUpdated и tiltFinished.
tiltUpdated(PinchEvent event)
Этот сигнал излучается, когда пальцы пользователя перемещаются по карте после излучения сигнала tiltStarted.
Соответствующий обработчик — 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.12/qml-qtlocation-mapgesturearea.html