Тип QML MapGestureArea
Тип MapGestureArea обеспечивает взаимодействие с жестами карты. Подробнее...
| Оператор импорта: | import QtLocation 5.14 |
| С тех пор: | 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 используются как часть карты для обеспечения взаимодействия с жестами, такими как панорамирование, свайпы и масштабирование при помощи пинцета, используемыми на сенсорных дисплеях, а также двухпальцевое вращение и двухпальцевое вертикальное скольжение для наклона карты. На платформах, поддерживающих 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()
Этот сигнал испускается, когда карта свайпается. Свайп начинается с точки, где была отпущена кнопка мыши или касание, в то время как движение продолжается.
Соответствующий обработчик — onFlickStarted.
panFinished()
Этот сигнал испускается, когда карта перестает двигаться из-за взаимодействия пользователя. Если был произведен свайп, этот сигнал испускается до начала свайпа. Если свайп не был произведен, этот сигнал испускается, когда пользователь прекращает перетаскивание, то есть происходит отпускание кнопки мыши или касания.
Соответствующий обработчик — onPanFinished.
panStarted()
Этот сигнал испускается, когда карта начинает двигаться из-за взаимодействия пользователя. Как правило, это означает, что пользователь перетаскивает палец — или мышь с нажатой одной или несколькими кнопками мыши — по карте.
Соответствующий обработчик — onPanStarted.
pinchFinished(event)
Этот сигнал испускается в конце жеста пинцета.
Информация о событии пинцета предоставляется в event.
Соответствующий обработчик — onPinchFinished.
См. также pinchStarted и pinchUpdated.
pinchStarted(event)
Этот сигнал испускается при начале жеста пинцета.
Информация о событии пинцета предоставляется в event.
Соответствующий обработчик — onPinchStarted.
См. также pinchUpdated и pinchFinished.
pinchUpdated(event)
Этот сигнал испускается по мере перемещения пальцев пользователя по карте после испускания сигнала pinchStarted.
Информация о событии масштабирования представлена в event.
Соответствующий обработчик — onPinchUpdated.
См. также pinchStarted и pinchFinished.
rotationFinished(event)
Этот сигнал испускается в конце жеста поворота двумя пальцами.
Информация о событии масштабирования представлена в event.
Соответствующий обработчик — onRotationFinished.
Этот сигнал был добавлен в QtLocation 5.9.
См. также rotationStarted() и rotationUpdated().
rotationStarted(event)
Этот сигнал испускается при начале жеста поворота двумя пальцами.
Информация о событии масштабирования представлена в event.
Соответствующий обработчик — onRotationStarted.
Этот сигнал был добавлен в QtLocation 5.9.
См. также rotationUpdated() и rotationFinished().
rotationUpdated(event)
Этот сигнал испускается, когда пальцы пользователя перемещаются по карте после испускания сигнала rotationStarted().
Информация о событии масштабирования представлена в event.
Соответствующий обработчик — onRotationUpdated.
Этот сигнал был добавлен в QtLocation 5.9.
См. также rotationStarted() и rotationFinished().
tiltFinished(event)
Этот сигнал испускается в конце жеста наклона двумя пальцами.
Информация о событии масштабирования представлена в event.
Соответствующий обработчик — onTiltFinished.
Этот сигнал был добавлен в QtLocation 5.9.
См. также tiltStarted() и tiltUpdated().
tiltStarted(event)
Этот сигнал испускается при начале жеста наклона двумя пальцами.
Информация о событии масштабирования представлена в event.
Соответствующий обработчик — onTiltStarted.
Этот сигнал был добавлен в QtLocation 5.9.
См. также tiltUpdated() и tiltFinished().
tiltUpdated(event)
Этот сигнал испускается, когда пальцы пользователя перемещаются по карте после испускания сигнала tiltStarted.
Информация о событии масштабирования представлена в 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.14/qml-qtlocation-mapgesturearea.html