CopperSpice API  1.9.1
QMouseEvent Class Reference

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

Inheritance diagram for QMouseEvent:
QInputEvent QEvent

Public Methods

 QMouseEvent (Type type, const QPointF &localPos, const QPointF &screenPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers)
 
 QMouseEvent (Type type, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers)
 
 QMouseEvent (Type type, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::MouseEventSource source)
 
 QMouseEvent (Type type, const QPointF &localPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers)
 
Qt::MouseButton button () const
 
Qt::MouseButtons buttons () const
 
Qt::MouseEventFlags flags () const
 
QPoint globalPos () const
 
int globalX () const
 
int globalY () const
 
const QPointFlocalPos () const
 
QPoint pos () const
 
const QPointFscreenPos () const
 
Qt::MouseEventSource source () const
 
const QPointFwindowPos () const
 
int x () const
 
int y () const
 
- Public Methods inherited from QInputEvent
Qt::KeyboardModifiers modifiers () const
 
void setModifiers (Qt::KeyboardModifiers modifiers)
 
void setTimestamp (ulong timestamp)
 
ulong timestamp () const
 
- Public Methods inherited from QEvent
 QEvent (const QEvent &other)
 
 QEvent (Type type)
 
virtual ~QEvent ()
 
void accept ()
 
void ignore ()
 
bool isAccepted () const
 
QEvent & operator= (const QEvent &other)
 
void setAccepted (bool accepted)
 
bool spontaneous () const
 
Type type () const
 

Additional Inherited Members

- Public Types inherited from QEvent
enum  Type
 
- Static Public Methods inherited from QEvent
static int registerEventType (int hint=-1)
 

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().

CopperSpice 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.

Note
If a mouse event is propagated to a widget for which Qt::WA_NoMousePropagation has been set, that mouse event will not be propagated further up the parent widget chain.

The state of the keyboard modifier keys can be found by calling the modifiers() method, inherited from QInputEvent.

The methods 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() method 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.

See also
QWidget::setMouseTracking(), QWidget::grabMouse(), QCursor::pos()

Constructor & Destructor Documentation

QMouseEvent::QMouseEvent ( Type  type,
const QPointF localPos,
Qt::MouseButton  button,
Qt::MouseButtons  buttons,
Qt::KeyboardModifiers  modifiers 
)

Constructs a mouse event object.

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. The button that caused the event is given as a value from the Qt::MouseButton enum. If the event type is 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 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 QPointF localPos,
const QPointF screenPos,
Qt::MouseButton  button,
Qt::MouseButtons  buttons,
Qt::KeyboardModifiers  modifiers 
)

Constructs a mouse event object. 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. The cursor's position in global coordinates is specified by screenlPos. The button that caused the event is given as a value from the Qt::MouseButton enum. If the event type is MouseMove, the appropriate button for this event is Qt::NoButton. The value for buttons is the state of all buttons at the time of the event, modifiers is the state of all keyboard modifiers.

QMouseEvent::QMouseEvent ( Type  type,
const QPointF localPos,
const QPointF windowPos,
const QPointF screenPos,
Qt::MouseButton  button,
Qt::MouseButtons  buttons,
Qt::KeyboardModifiers  modifiers 
)

Constructs a mouse event object.

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

The points localPos, windowPos and screenPos specify the mouse cursor's position relative to the receiving widget or item, window, and screen, respectively.

The button that caused the event is given as a value from the Qt::MouseButton enum. If the event type is MouseMove, the appropriate button for this event is Qt::NoButton. The value for buttons is the state of all buttons at the time of the event, modifiers are the state of all keyboard modifiers.

QMouseEvent::QMouseEvent ( Type  type,
const QPointF localPos,
const QPointF windowPos,
const QPointF screenPos,
Qt::MouseButton  button,
Qt::MouseButtons  buttons,
Qt::KeyboardModifiers  modifiers,
Qt::MouseEventSource  source 
)

Constructs a mouse event object.

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

The points localPos, windowPos and screenPos specify the mouse cursor's position relative to the receiving widget or item, window, and screen, respectively.

The button that caused the event is given as a value from the Qt::MouseButton enum. If the event type is MouseMove, the appropriate button for this event is Qt::NoButton. The value for buttons is the state of all buttons at the time of the event, modifiers are the state of all keyboard modifiers.

The source of the event is specified by source.

Method Documentation

Qt::MouseButton QMouseEvent::button ( ) const
inline

Returns the button that caused the event. The returned value is always Qt::NoButton for mouse move events.

See also
buttons(), Qt::MouseButton
Qt::MouseButtons QMouseEvent::buttons ( ) const
inline

Returns the button state when the event was generated. The button state is a combination of Qt::LeftButton, Qt::RightButton, Qt::MidButton using the OR operator. 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.

See also
button(), Qt::MouseButton
Qt::MouseEventFlags QMouseEvent::flags ( ) const

Returns the mouse event flags. The mouse event flags provide additional information about a mouse event.

See also
Qt::MouseEventFlag, QGraphicsSceneMouseEvent::flags()
QPoint QMouseEvent::globalPos ( ) const
inline

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(), globalY()
int QMouseEvent::globalX ( ) const
inline

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

See also
globalY(), globalPos()
int QMouseEvent::globalY ( ) const
inline

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

See also
globalX(), globalPos()
const QPointF & QMouseEvent::localPos ( ) const
inline

Returns the position of the mouse cursor as a QPointF, relative to the widget or item that received the event.

If you move the widget as a result of the mouse event, use the screen position returned by screenPos() to avoid a shaking motion.

See also
x(), y(), windowPos(), screenPos()
QPoint QMouseEvent::pos ( ) const
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.

See also
x(), y(), globalPos()
const QPointF & QMouseEvent::screenPos ( ) const
inline

Returns the position of the mouse cursor as a QPointF, relative to the screen that received the event.

See also
x(), y(), pos(), localPos(), windowPos()
Qt::MouseEventSource QMouseEvent::source ( ) 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 CopperSpice itself.

Note
Many platforms provide no such information. On these platforms Qt::MouseEventNotSynthesized is returned always.
See also
Qt::MouseEventSource, QGraphicsSceneMouseEvent::source()
const QPointF & QMouseEvent::windowPos ( ) const
inline

Returns the position of the mouse cursor as a QPointF, relative to the window that received the event. If widgets are moved around in response to mouse events, use the global position returned by globalPos() instead of this method.

See also
x(), y(), pos(), localPos(), screenPos()
int QMouseEvent::x ( ) const
inline

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

See also
y(), pos()
int QMouseEvent::y ( ) const
inline

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

See also
x(), pos()