Тип QML MouseEvent
Предоставляет информацию о событии мыши. Подробнее...
| Заявление об импорте: | import QtQuick 2.11 |
Свойства
- accepted : bool
- button : перечисление
- buttons : int
- flags : int
- modifiers : int
- source : int
- wasHeld : bool
- x : real
- y : real
Подробное описание
Позицию курсора мыши можно найти с помощью свойств x и y. Кнопка, вызвавшая событие, доступна через свойство button.
См. также MouseArea.
Документация по свойствам
accepted : bool
Установление accepted в значение true предотвращает распространение события мыши на элементы, расположенные ниже этого элемента.
В целом, если элемент обрабатывает событие мыши, то он должен быть принят, чтобы элементы, расположенные ниже в порядке стекирования, не реагировали на то же самое событие.
button : перечисление
Это свойство содержит кнопку, вызвавшую событие. Оно может быть одним из:
buttons : int
Это свойство содержит нажатые кнопки мыши во время генерации события. Для событий перемещения мыши это все нажатые кнопки. Для событий нажатия и двойного щелчка мыши это включает кнопку, вызвавшую событие. Для событий отпускания мыши это исключает кнопку, вызвавшую событие.
Содержит битовое объединение:
flags : int
Это свойство содержит флаги, предоставляющие дополнительную информацию о событии мыши.
- Qt.MouseEventCreatedDoubleClick - Указывает, что Qt создало событие двойного щелчка из этого события. Этот флаг устанавливается в событии, исходящем от нажатия кнопки, а не в результате события двойного щелчка.
Это свойство было введено в Qt 5.11.
modifiers : int
Это свойство содержит флаги модификаторов клавиатуры, существовавшие непосредственно перед возникновением события.
Содержит битовое объединение:
- Qt.NoModifier - Ни одна клавиша модификатора не нажата.
- Qt.ShiftModifier - Нажата клавиша Shift на клавиатуре.
- Qt.ControlModifier - Нажата клавиша Ctrl на клавиатуре.
- Qt.AltModifier - Нажата клавиша Alt на клавиатуре.
- Qt.MetaModifier - Нажата клавиша Meta на клавиатуре.
- Qt.KeypadModifier - Нажата кнопка дополнительной клавиатуры.
Например, для реакции на нажатие клавиши Shift + левой кнопки мыши:
MouseArea {
onClicked: {
if ((mouse.button == Qt.LeftButton) && (mouse.modifiers & Qt.ShiftModifier))
doSomething();
}
} source : int
Это свойство содержит источник события мыши.
Источник события мыши может использоваться для различения реальных и искусственных событий мыши. При использовании других указательных устройств, таких как сенсорные экраны и графические планшеты, если приложение не использует реальные события касания или планшета, события мыши могут быть синтезированы операционной системой или самим Qt.
Значение может быть одним из:
- Qt.MouseEventNotSynthesized - Наиболее распространённое значение. На платформах, где такая информация доступна, это значение указывает, что событие представляет собой реальное событие мыши от системы.
- Qt.MouseEventSynthesizedBySystem - Указывает, что событие мыши было синтезировано из события касания или планшета платформой.
- Qt.MouseEventSynthesizedByQt - Указывает, что событие мыши было синтезировано из необработанного события касания или планшета Qt.
- Qt.MouseEventSynthesizedByApplication - Указывает, что событие мыши было синтезировано приложением. Это позволяет различать события мыши, сгенерированные приложением, от событий, поступающих от системы или синтезированных Qt.
Например, чтобы реагировать только на события, поступающие от реальной мыши:
MouseArea {
onPressed: if (mouse.source !== Qt.MouseEventNotSynthesized) {
mouse.accepted = false
}
onClicked: doSomething()
} Если обработчик события нажатия отклоняет событие, оно будет распространено дальше, а затем другой элемент ниже может обработать синтезированные события от сенсорных экранов. Например, если используется Flickable (и MouseArea не является дочерним элементом Flickable), может быть полезно, чтобы MouseArea обрабатывал реальные события мыши одним способом, а позволял событиям касания проходить к Flickable, чтобы сохранилась возможность перетаскивания на сенсорном экране. В этом случае возможность перетаскивания Flickable мышкой будет потеряна, но это не препятствует получению Flickable событий колёса мыши.
Это свойство было введено в Qt 5.7.
wasHeld : bool
Это свойство имеет значение true, если кнопка мыши удерживается нажатой дольше порогового значения (800 мс).
x : real
Эти свойства содержат координаты позиции, предоставленные событием мыши.
y : real
Эти свойства содержат координаты позиции, предоставленные событием мыши.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qml-qtquick-mouseevent.html