Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |

# QMouseEvent Class Reference

The QMouseEvent class contains parameters that describe a mouse event. More...

    #include <QMouseEvent>

Inherits QInputEvent.

- List of all members, including inherited members

### Public Functions

- QMouseEvent ( Type type, const QPoint & position, int button, int state )
- QMouseEvent ( Type type, const QPoint & position, const QPoint & globalPos, int button, int state )
- Qt::ButtonState button () const
- const QPoint & globalPos () const
- int globalX () const
- int globalY () const
- const QPoint & pos () const
- Qt::ButtonState state () const
- Qt::ButtonState stateAfter () const
- int x () const
- int y () const

- 3 public functions inherited from QInputEvent
- 2 public functions inherited from QEvent

## Detailed Description

The QMouseEvent class contains parameters that describe a mouse event.

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 functions pos(), x(), and y() give the cursor position relative to the widget that receives the mouse 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.

The QWidget::setEnabled() function can be used to enable or disable mouse and keyboard events for a widget.

The event handlers QWidget::mousePressEvent(), QWidget::mouseReleaseEvent(), QWidget::mouseDoubleClickEvent(), and QWidget::mouseMoveEvent() receive mouse events.

QCursor::pos()

See also QWidget::setMouseTracking() and QWidget::grabMouse().

## Member Function Documentation

### QMouseEvent::QMouseEvent ( Type type, const QPoint & position, int button, int state )

Constructs a mouse event object.

The type parameter must be one of `QEvent::MouseButtonPress`, `QEvent::MouseButtonRelease`, `QEvent::MouseButtonDblClick`, or `QEvent::MouseMove`.

The position is the mouse cursor's position relative to the receiving widget. The button that caused the event is given as a value from the Qt::ButtonState enum. If the event type is `MouseMove`, the appropriate button for this event is `Qt::NoButton` (0). The state is the Qt::ButtonState at the time of the event.

The globalPos() is initialized to QCursor::pos(), which may not be appropriate. Use the other constructor to specify the global position explicitly.

### QMouseEvent::QMouseEvent ( Type type, const QPoint & position, const QPoint & globalPos, int button, int state )

Constructs a mouse event object.

The type parameter must be `QEvent::MouseButtonPress`, `QEvent::MouseButtonRelease`, `QEvent::MouseButtonDblClick`, or `QEvent::MouseMove`.

The position is the mouse cursor's position relative to the receiving widget. The cursor's position in global coordinates is specified by globalPos. The button that caused the event is given as a value from the Qt::ButtonState enum. If the event type is `MouseMove`, the appropriate button for this event is `Qt::NoButton` (0). The state is the Qt::ButtonState at the time of the event.

### Qt::ButtonState QMouseEvent::button () const

Returns the button that caused the event.

Possible return values are `Qt::LeftButton`, `Qt::RightButton`, `Qt::MidButton`, and `Qt::NoButton`.

Note that the returned value is always `Qt::NoButton` for mouse move events.

See also state() and Qt::ButtonState.

### const QPoint & QMouseEvent::globalPos () const

Returns the global position of the mouse cursor at the time of the event. This is important on asynchronous window systems like X11. Whenever you move your widgets around in response to mouse events, globalPos() may differ a lot from the current pointer position QCursor::pos(), and from QWidget::mapToGlobal(pos()).

See also globalX() and globalY().

### int QMouseEvent::globalX () const

Returns the global x position of the mouse cursor at the time of the event.

See also globalY() and globalPos().

### int QMouseEvent::globalY () const

Returns the global y position of the mouse cursor at the time of the event.

See also globalX() and globalPos().

### const QPoint & QMouseEvent::pos () const

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.

See also x(), y(), and globalPos().

### Qt::ButtonState QMouseEvent::state () const

Returns the button state immediately before the event was generated. The button state is a combination of mouse buttons (see Qt::ButtonState) and keyboard modifiers (Qt::Modifier).

For example, for `QEvent::MouseButtonPress` and `QEvent::MouseButtonDblClick` event types, state() will not include the mouse button that's pressed. When the mouse button is released, the `QEvent::MouseButtonRelease` event has a state() that contains the button() that was initially pressed.

This value is mainly interesting for `QEvent::MouseMove`; for the other cases, button() is more useful.

The returned value is a selection of the following values, combined using the OR operator: `Qt::LeftButton`, `Qt::RightButton`, `Qt::MidButton`, `Qt::ShiftButton`, `Qt::ControlButton`, and `Qt::AltButton`.

See also button(), stateAfter(), and Qt::ButtonState.

### Qt::ButtonState QMouseEvent::stateAfter () const

Returns the button state immediately after the event.

See also state() and Qt::ButtonState.

### int QMouseEvent::x () const

Returns the x position of the mouse cursor, relative to the widget that received the event.

See also y() and pos().

### int QMouseEvent::y () const

Returns the y position of the mouse cursor, relative to the widget that received the event.

See also x() and pos().