QWheelEvent Class
The QWheelEvent class contains parameters that describe a wheel event. More...
Header: | #include <QWheelEvent> |
qmake: | QT += gui |
Inherits: | QInputEvent. |
Public Functions
QWheelEvent(const QPointF & pos, const QPointF & globalPos, QPoint pixelDelta, QPoint angleDelta, int qt4Delta, Qt::Orientation qt4Orientation, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers) | |
QWheelEvent(const QPointF & pos, const QPointF & globalPos, QPoint pixelDelta, QPoint angleDelta, int qt4Delta, Qt::Orientation qt4Orientation, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase) | |
QPoint | angleDelta() const |
Qt::MouseButtons | buttons() const |
QPoint | globalPos() const |
const QPointF & | globalPosF() const |
int | globalX() const |
int | globalY() const |
Qt::ScrollPhase | phase() const |
QPoint | pixelDelta() const |
QPoint | pos() const |
const QPointF & | posF() const |
int | x() const |
int | y() const |
- 2 public functions inherited from QInputEvent
- 6 public functions inherited from QEvent
Additional Inherited Members
Detailed Description
The QWheelEvent class contains parameters that describe a wheel event.
Wheel events are sent to the widget under the mouse cursor, but if that widget does not handle the event they are sent to the focus widget. Wheel events are generated for both mouse wheels and trackpad scroll gestures. There are two ways to read the wheel event delta: angleDelta() returns the delta in wheel degrees. This value is always provided. pixelDelta() returns the delta in screen pixels and is available on platforms that have high-resolution trackpads, such as Mac OS X.
The functions pos() and globalPos() return the mouse cursor's location at the time of the event.
A wheel event contains a special accept flag that indicates whether the receiver wants the event. You should call ignore() if you do not handle the wheel event; this ensures that it will be sent to the parent widget.
The QWidget::setEnabled() function can be used to enable or disable mouse and keyboard events for a widget.
The event handler QWidget::wheelEvent() receives wheel events.
See also QMouseEvent and QWidget::grabMouse().
Member Function Documentation
QWheelEvent::QWheelEvent(const QPointF & pos, const QPointF & globalPos, QPoint pixelDelta, QPoint angleDelta, int qt4Delta, Qt::Orientation qt4Orientation, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers)
Constructs a wheel event object.
The pos provides the location of the mouse cursor within the window. The position in global coordinates is specified by globalPos.
pixelDelta contains the scrolling distance in pixels on screen, while angleDelta contains the wheel rotation distance. pixelDelta is optional and can be null.
The mouse and keyboard states at the time of the event are specified by buttons and modifiers.
For backwards compatibility, the event can also hold monodirectional wheel event data: qt4Delta specifies the rotation, and qt4Orientation the direction.
The phase() is initialized to Qt::ScrollUpdate. Use the other constructor to specify the phase explicitly.
See also posF(), globalPosF(), angleDelta(), and pixelDelta().
QWheelEvent::QWheelEvent(const QPointF & pos, const QPointF & globalPos, QPoint pixelDelta, QPoint angleDelta, int qt4Delta, Qt::Orientation qt4Orientation, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase)
Constructs a wheel event object.
The pos provides the location of the mouse cursor within the window. The position in global coordinates is specified by globalPos.
pixelDelta contains the scrolling distance in pixels on screen, while angleDelta contains the wheel rotation distance. pixelDelta is optional and can be null.
The mouse and keyboard states at the time of the event are specified by buttons and modifiers.
For backwards compatibility, the event can also hold monodirectional wheel event data: qt4Delta specifies the rotation, and qt4Orientation the direction.
The scrolling phase of the event is specified by phase.
See also posF(), globalPosF(), angleDelta(), pixelDelta(), and phase().
QPoint QWheelEvent::angleDelta() const
Returns the distance that the wheel is rotated, in eighths of a degree. A positive value indicates that the wheel was rotated forwards away from the user; a negative value indicates that the wheel was rotated backwards toward the user.
Most mouse types work in steps of 15 degrees, in which case the delta value is a multiple of 120; i.e., 120 units * 1/8 = 15 degrees.
However, some mice have finer-resolution wheels and send delta values that are less than 120 units (less than 15 degrees). To support this possibility, you can either cumulatively add the delta values from events until the value of 120 is reached, then scroll the widget, or you can partially scroll the widget in response to each wheel event.
Example:
void MyWidget::wheelEvent(QWheelEvent *event) { QPoint numPixels = event->pixelDelta(); QPoint numDegrees = event->angleDelta() / 8; if (!numPixels.isNull()) { scrollWithPixels(numPixels); } else if (!numDegrees.isNull()) { QPoint numSteps = numDegrees / 15; scrollWithDegrees(numSteps); } event->accept(); }
Note: On platforms that support scrolling phases, the delta may be null when:
- scrolling is about to begin, but the distance did not yet change (Qt::ScrollBegin),
- or scrolling has ended and the distance did not change anymore (Qt::ScrollEnd).
Qt::MouseButtons QWheelEvent::buttons() const
Returns the mouse state when the event occurred.
QPoint QWheelEvent::globalPos() const
Returns the global position of the mouse pointer at the time of the event. This is important on asynchronous window systems such as X11; whenever you move your widgets around in response to mouse events, globalPos() can differ a lot from the current cursor position returned by QCursor::pos().
See also globalX() and globalY().
const QPointF & QWheelEvent::globalPosF() const
Returns the global position of the mouse pointer at the time of the event. This is important on asynchronous window systems such as X11; whenever you move your widgets around in response to mouse events, globalPosF() can differ a lot from the current cursor position returned by QCursor::pos().
See also posF().
int QWheelEvent::globalX() const
Returns the global x position of the mouse cursor at the time of the event.
See also globalY() and globalPos().
int QWheelEvent::globalY() const
Returns the global y position of the mouse cursor at the time of the event.
See also globalX() and globalPos().
Qt::ScrollPhase QWheelEvent::phase() const
Returns the scrolling phase of this wheel event.
Note: The Qt::ScrollBegin and Qt::ScrollEnd phases are currently supported only on Mac OS X.
This function was introduced in Qt 5.2.
QPoint QWheelEvent::pixelDelta() const
Returns the scrolling distance in pixels on screen. This value is provided on platforms that support high-resolution pixel-based delta values, such as Mac OS X. The value should be used directly to scroll content on screen.
Example:
void MyWidget::wheelEvent(QWheelEvent *event) { QPoint numPixels = event->pixelDelta(); QPoint numDegrees = event->angleDelta() / 8; if (!numPixels.isNull()) { scrollWithPixels(numPixels); } else if (!numDegrees.isNull()) { QPoint numSteps = numDegrees / 15; scrollWithDegrees(numSteps); } event->accept(); }
Note: On platforms that support scrolling phases, the delta may be null when:
- scrolling is about to begin, but the distance did not yet change (Qt::ScrollBegin),
- or scrolling has ended and the distance did not change anymore (Qt::ScrollEnd).
QPoint QWheelEvent::pos() const
Returns the position of the mouse cursor relative to the widget that received the event.
If you move your widgets around in response to mouse events, use globalPos() instead of this function.
See also x(), y(), and globalPos().
const QPointF & QWheelEvent::posF() const
Returns the position of the mouse cursor relative to the widget that received the event.
If you move your widgets around in response to mouse events, use globalPosF() instead of this function.
See also globalPosF().
int QWheelEvent::x() const
Returns the x position of the mouse cursor, relative to the widget that received the event.
int QWheelEvent::y() const
Returns the y position of the mouse cursor, relative to the widget that received the event.
© 2015 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.