QWheelEvent

The QWheelEvent class contains parameters that describe a wheel event. More

Inheritance diagram of PySide2.QtGui.QWheelEvent

Synopsis

Functions

Detailed Description

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 macOS . If that is the case, source() will return MouseEventSynthesizedBySystem .

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 setEnabled() function can be used to enable or disable mouse and keyboard events for a widget.

The event handler wheelEvent() receives wheel events.

See also

QMouseEvent grabMouse()

class QWheelEvent(pos, globalPos, pixelDelta, angleDelta, buttons, modifiers, phase, inverted[, source=Qt.MouseEventNotSynthesized])

QWheelEvent(pos, globalPos, pixelDelta, angleDelta, qt4Delta, qt4Orientation, buttons, modifiers)

QWheelEvent(pos, globalPos, pixelDelta, angleDelta, qt4Delta, qt4Orientation, buttons, modifiers, phase)

QWheelEvent(pos, globalPos, pixelDelta, angleDelta, qt4Delta, qt4Orientation, buttons, modifiers, phase, source)

QWheelEvent(pos, globalPos, pixelDelta, angleDelta, qt4Delta, qt4Orientation, buttons, modifiers, phase, source, inverted)

QWheelEvent(pos, globalPos, delta, buttons, modifiers[, orient=Qt.Vertical])

QWheelEvent(pos, delta, buttons, modifiers[, orient=Qt.Vertical])

param source

MouseEventSource

param globalPos

QPointF

param inverted

bool

param modifiers

KeyboardModifiers

param angleDelta

QPoint

param buttons

MouseButtons

param pos

QPointF

param pixelDelta

QPoint

param phase

ScrollPhase

param delta

int

param orient

Orientation

param qt4Delta

int

param qt4Orientation

Orientation

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 .

The scrolling phase of the event is specified by phase .

If the wheel event comes from a physical mouse wheel, source is set to MouseEventNotSynthesized . If it comes from a gesture detected by the operating system, or from a non-mouse hardware device, such that pixelDelta is directly related to finger movement, source is set to MouseEventSynthesizedBySystem . If it comes from Qt, source would be set to MouseEventSynthesizedByQt .

If the system is configured to invert the delta values delivered with the event (such as natural scrolling of the touchpad on macOS ), inverted should be true . Otherwise, inverted is false

See also

posF() globalPosF() angleDelta() pixelDelta() 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 phase() is initialized to ScrollUpdate . Use the other constructor to specify the phase explicitly.

See also

posF() globalPosF() angleDelta() pixelDelta()

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 .

If the wheel event comes from a physical mouse wheel, source is set to MouseEventNotSynthesized . If it comes from a gesture detected by the operating system, or from a non-mouse hardware device, such that pixelDelta is directly related to finger movement, source is set to MouseEventSynthesizedBySystem . If it comes from Qt, source would be set to MouseEventSynthesizedByQt .

See also

posF() globalPosF() angleDelta() pixelDelta() 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 .

If the wheel event comes from a physical mouse wheel, source is set to MouseEventNotSynthesized . If it comes from a gesture detected by the operating system, or from a non-mouse hardware device, such that pixelDelta is directly related to finger movement, source is set to MouseEventSynthesizedBySystem . If it comes from Qt, source would be set to MouseEventSynthesizedByQt .

If the system is configured to invert the delta values delivered with the event (such as natural scrolling of the touchpad on OS X), inverted should be true . Otherwise, inverted is false

See also

posF() globalPosF() angleDelta() pixelDelta() phase()

Constructs a wheel event object.

Use the constructor taking angleDelta and pixelDelta QPoints instead.

The pos provides the location of the mouse cursor within the widget. The position in global coordinates is specified by globalPos . delta contains the rotation distance, modifiers holds the keyboard modifier flags at the time of the event, and orient holds the wheel’s orientation.

See also

pos() pixelDelta() angleDelta()

Constructs a wheel event object.

Use the constructor taking angleDelta and pixelDelta QPoints instead.

The position, pos , is the location of the mouse cursor within the widget. The globalPos() is initialized to pos() which is usually, but not always, correct. Use the other constructor if you need to specify the global position explicitly.

The buttons describe the state of the mouse buttons at the time of the event, delta contains the rotation distance, modifiers holds the keyboard modifier flags at the time of the event, and orient holds the wheel’s orientation.

See also

pos() pixelDelta() angleDelta()

PySide2.QtGui.QWheelEvent.pixelD
PySide2.QtGui.QWheelEvent.angleD
PySide2.QtGui.QWheelEvent.qt4D
PySide2.QtGui.QWheelEvent.qt4O
PySide2.QtGui.QWheelEvent._unused_
PySide2.QtGui.QWheelEvent.src
PySide2.QtGui.QWheelEvent.invertedScrolling
PySide2.QtGui.QWheelEvent.ph
PySide2.QtGui.QWheelEvent.reserved
PySide2.QtGui.QWheelEvent.angleDelta()
Return type

QPoint

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:

def wheelEvent(self, event):
    numDegrees = event.delta() / 8
    numSteps = numDegrees / 15

    if event->orientation() == Qt.Horizontal:
        scrollHorizontally(numSteps)
    else:
        scrollVertically(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 ( ScrollBegin ),

  • or scrolling has ended and the distance did not change anymore ( ScrollEnd ).

PySide2.QtGui.QWheelEvent.buttons()
Return type

MouseButtons

Returns the mouse state when the event occurred.

PySide2.QtGui.QWheelEvent.delta()
Return type

int

This function has been deprecated, use pixelDelta() or angleDelta() instead.

PySide2.QtGui.QWheelEvent.globalPos()
Return type

QPoint

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, can differ a lot from the current cursor position returned by pos() .

See also

globalX() globalY()

PySide2.QtGui.QWheelEvent.globalPosF()
Return type

QPointF

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, can differ a lot from the current cursor position returned by pos() .

See also

posF()

PySide2.QtGui.QWheelEvent.globalX()
Return type

int

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

See also

globalY() globalPos()

PySide2.QtGui.QWheelEvent.globalY()
Return type

int

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

See also

globalX() globalPos()

PySide2.QtGui.QWheelEvent.inverted()
Return type

bool

Returns whether the delta values delivered with the event are inverted.

Normally, a vertical wheel will produce a QWheelEvent with positive delta values if the top of the wheel is rotating away from the hand operating it. Similarly, a horizontal wheel movement will produce a QWheelEvent with positive delta values if the top of the wheel is moved to the left.

However, on some platforms this is configurable, so that the same operations described above will produce negative delta values (but with the same magnitude). With the inverted property a wheel event consumer can choose to always follow the direction of the wheel, regardless of the system settings, but only for specific widgets. (One such use case could be that the user is rotating the wheel in the same direction as a visual Tumbler rotates. Another usecase is to make a slider handle follow the direction of movement of fingers on a touchpad regardless of system configuration.)

Note

Many platforms provide no such information. On such platforms inverted always returns false.

PySide2.QtGui.QWheelEvent.orientation()
Return type

Orientation

Returns the wheel’s orientation.

Use angleDelta() instead.

PySide2.QtGui.QWheelEvent.phase()
Return type

ScrollPhase

Returns the scrolling phase of this wheel event.

Note

The ScrollBegin and ScrollEnd phases are currently supported only on macOS .

PySide2.QtGui.QWheelEvent.pixelDelta()
Return type

QPoint

Returns the scrolling distance in pixels on screen. This value is provided on platforms that support high-resolution pixel-based delta values, such as macOS . The value should be used directly to scroll content on screen.

Example:

def wheelEvent(self, event):
    numDegrees = event.delta() / 8
    numSteps = numDegrees / 15

    if event->orientation() == Qt.Horizontal:
        scrollHorizontally(numSteps)
    else:
        scrollVertically(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 ( ScrollBegin ),

  • or scrolling has ended and the distance did not change anymore ( ScrollEnd ).

Note

On X11 this value is driver specific and unreliable, use angleDelta() instead

PySide2.QtGui.QWheelEvent.pos()
Return type

QPoint

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

PySide2.QtGui.QWheelEvent.posF()
Return type

QPointF

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

PySide2.QtGui.QWheelEvent.source()
Return type

MouseEventSource

Returns information about the wheel event source.

The source can be used to distinguish between events that come from a mouse with a physical wheel and events that are generated by some other means, such as a flick gesture on a touchpad.

Note

Many platforms provide no such information. On such platforms MouseEventNotSynthesized is returned always.

See also

MouseEventSource

PySide2.QtGui.QWheelEvent.x()
Return type

int

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

See also

y() pos()

PySide2.QtGui.QWheelEvent.y()
Return type

int

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

See also

x() pos()