Provides information about a mouse event. More...
Import Statement: | import QtQuick 2.15 |
The position of the mouse can be found via the x and y properties. The button that caused the event is available via the button property.
See also MouseArea.
x : real
These properties hold the coordinates of the position supplied by the mouse event.
accepted : bool
Setting accepted to true prevents the mouse event from being propagated to items below this item.
Generally, if the item acts on the mouse event then it should be accepted so that items lower in the stacking order do not also respond to the same event.
button : enumeration
This property holds the button that caused the event. It can be one of:
buttons : int
This property holds the mouse buttons pressed when the event was generated. For mouse move events, this is all buttons that are pressed down. For mouse press and double click events this includes the button that caused the event. For mouse release events this excludes the button that caused the event.
It contains a bitwise combination of:
flags : int
This property holds the flags that provide additional information about the mouse event.
This property was introduced in Qt 5.11.
modifiers : int
This property holds the keyboard modifier flags that existed immediately before the event occurred.
It contains a bitwise combination of:
For example, to react to a Shift key + Left mouse button click:
MouseArea { onClicked: { if ((mouse.button == Qt.LeftButton) && (mouse.modifiers & Qt.ShiftModifier)) doSomething(); } }
source : int
This property holds the source of the mouse event.
The mouse event source can be used to distinguish between genuine and artificial mouse events. When using other pointing devices such as touchscreens and graphics tablets, if the application does not make use of the actual touch or tablet events, mouse events may be synthesized by the operating system or by Qt itself.
The value can be one of:
For example, to react only to events which come from an actual mouse:
MouseArea { onPressed: if (mouse.source !== Qt.MouseEventNotSynthesized) { mouse.accepted = false } onClicked: doSomething() }
If the handler for the press event rejects the event, it will be propagated further, and then another Item underneath can handle synthesized events from touchscreens. For example, if a Flickable is used underneath (and the MouseArea is not a child of the Flickable), it can be useful for the MouseArea to handle genuine mouse events in one way, while allowing touch events to fall through to the Flickable underneath, so that the ability to flick on a touchscreen is retained. In that case the ability to drag the Flickable via mouse would be lost, but it does not prevent Flickable from receiving mouse wheel events.
This property was introduced in Qt 5.7.
wasHeld : bool
This property is true if the mouse button has been held pressed longer than the threshold (800ms).
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qml-qtquick-mouseevent.html