QtBase
v6.3.1
|
The QMouseEvent class contains parameters that describe a mouse event. More...
#include <qevent.h>
The QMouseEvent class contains parameters that describe a mouse event.
\inmodule QtGui
Mouse events occur when a mouse button is pressed or released inside a widget, or when the mouse cursor is moved.
Mouse move events will occur only when a mouse button is pressed down, unless mouse tracking has been enabled with QWidget::setMouseTracking().
Qt automatically grabs the mouse when a mouse button is pressed inside a widget; the widget will continue to receive mouse events until the last mouse button is released.
A mouse event contains a special accept flag that indicates whether the receiver wants the event. You should call ignore() if the mouse event is not handled by your widget. A mouse event is propagated up the parent widget chain until a widget accepts it with accept(), or an event filter consumes it.
The state of the keyboard modifier keys can be found by calling the \l{QInputEvent::modifiers()}{modifiers()} function, inherited from QInputEvent.
The position() function gives the cursor position relative to the widget or item that receives the mouse event. If you move the widget as a result of the mouse event, use the global position returned by globalPosition() to avoid a shaking motion.
The QWidget::setEnabled() function can be used to enable or disable mouse and keyboard events for a widget.
Reimplement the QWidget event handlers, QWidget::mousePressEvent(), QWidget::mouseReleaseEvent(), QWidget::mouseDoubleClickEvent(), and QWidget::mouseMoveEvent() to receive mouse events in your own widgets.
QMouseEvent::QMouseEvent | ( | Type | type, |
const QPointF & | localPos, | ||
Qt::MouseButton | button, | ||
Qt::MouseButtons | buttons, | ||
Qt::KeyboardModifiers | modifiers, | ||
const QPointingDevice * | device = QPointingDevice::primaryPointingDevice() |
||
) |
Constructs a mouse event object originating from device.
The type parameter must be one of QEvent::MouseButtonPress, QEvent::MouseButtonRelease, QEvent::MouseButtonDblClick, or QEvent::MouseMove.
The localPos is the mouse cursor's position relative to the receiving widget or item. The window position is set to the same value as localPos. The button that caused the event is given as a value from the Qt::MouseButton enum. If the event type is \l MouseMove, the appropriate button for this event is Qt::NoButton. The mouse and keyboard states at the time of the event are specified by buttons and modifiers.
The globalPosition() is initialized to QCursor::pos(), which may not be appropriate. Use the other constructor to specify the global position explicitly.
Definition at line 714 of file qevent.cpp.
QMouseEvent::QMouseEvent | ( | Type | type, |
const QPointF & | localPos, | ||
const QPointF & | globalPos, | ||
Qt::MouseButton | button, | ||
Qt::MouseButtons | buttons, | ||
Qt::KeyboardModifiers | modifiers, | ||
const QPointingDevice * | device = QPointingDevice::primaryPointingDevice() |
||
) |
Constructs a mouse event object originating from device.
The type parameter must be QEvent::MouseButtonPress, QEvent::MouseButtonRelease, QEvent::MouseButtonDblClick, or QEvent::MouseMove.
The localPos is the mouse cursor's position relative to the receiving widget or item. The cursor's position in screen coordinates is specified by globalPos. The window position is set to the same value as localPos. The button that caused the event is given as a value from the \l Qt::MouseButton enum. If the event type is \l MouseMove, the appropriate button for this event is Qt::NoButton. buttons is the state of all buttons at the time of the event, modifiers the state of all keyboard modifiers.
Definition at line 744 of file qevent.cpp.
QMouseEvent::QMouseEvent | ( | Type | type, |
const QPointF & | localPos, | ||
const QPointF & | scenePos, | ||
const QPointF & | globalPos, | ||
Qt::MouseButton | button, | ||
Qt::MouseButtons | buttons, | ||
Qt::KeyboardModifiers | modifiers, | ||
const QPointingDevice * | device = QPointingDevice::primaryPointingDevice() |
||
) |
QMouseEvent::QMouseEvent | ( | Type | type, |
const QPointF & | localPos, | ||
const QPointF & | scenePos, | ||
const QPointF & | globalPos, | ||
Qt::MouseButton | button, | ||
Qt::MouseButtons | buttons, | ||
Qt::KeyboardModifiers | modifiers, | ||
Qt::MouseEventSource | source, | ||
const QPointingDevice * | device = QPointingDevice::primaryPointingDevice() |
||
) |
QMouseEvent::~QMouseEvent | ( | ) |
Definition at line 787 of file qevent.cpp.
|
inlineoverridevirtual |
Creates and returns an identical copy of this event.
Reimplemented from QSinglePointEvent.
Definition at line 251 of file qevent.h.
Qt::MouseEventFlags QMouseEvent::flags | ( | ) | const |
Returns information about the mouse event source.
The mouse event source can be used to distinguish between genuine and artificial mouse events. The latter are events that are synthesized from touch events by the operating system or Qt itself. This enum tells you from where it was synthesized; but often it's more useful to know from which device it was synthesized, so try to use pointingDevice() instead.
{pointingDevice()->type()}
or {pointingDevice()->capabilities()}
to decide how to react to this event. But it's even better to react to the original event rather than handling only mouse events.Returns the mouse event flags.
The mouse event flags provide additional information about a mouse event.
Definition at line 837 of file qevent.cpp.
|
inline |
Returns the position of the mouse cursor, relative to the widget that received the event.
If you move the widget as a result of the mouse event, use the global position returned by globalPos() to avoid a shaking motion.
Definition at line 254 of file qevent.h.