Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QHoverEvent Class Reference

\inmodule QtGui More...

#include <qevent.h>

+ Inheritance diagram for QHoverEvent:
+ Collaboration diagram for QHoverEvent:

Public Member Functions

 QHoverEvent (Type type, const QPointF &scenePos, const QPointF &globalPos, const QPointF &oldPos, Qt::KeyboardModifiers modifiers=Qt::NoModifier, const QPointingDevice *device=QPointingDevice::primaryPointingDevice())
 Constructs a hover event object originating from device.
 
bool isUpdateEvent () const override
 
QPoint oldPos () const
 Returns the previous position of the mouse cursor, relative to the widget that received the event.
 
QPointF oldPosF () const
 Returns the previous position of the mouse cursor, relative to the widget that received the event.
 
- Public Member Functions inherited from QSinglePointEvent
Qt::MouseButton button () const
 Returns the button that caused the event.
 
Qt::MouseButtons buttons () const
 Returns the button state when the event was generated.
 
QPointF position () const
 Returns the position of the point in this event, relative to the widget or item that received the event.
 
QPointF scenePosition () const
 Returns the position of the point in this event, relative to the window or scene.
 
QPointF globalPosition () const
 Returns the position of the point in this event on the screen or virtual desktop.
 
bool isBeginEvent () const override
 Returns true if this event represents a \l {button()}{button} being pressed.
 
bool isUpdateEvent () const override
 Returns true if this event does not include a change in \l {buttons()}{button state}.
 
bool isEndEvent () const override
 Returns true if this event represents a \l {button()}{button} being released.
 
QObjectexclusivePointGrabber () const
 
void setExclusivePointGrabber (QObject *exclusiveGrabber)
 
- Public Member Functions inherited from QPointerEvent
 QPointerEvent (Type type, const QPointingDevice *dev, Qt::KeyboardModifiers modifiers=Qt::NoModifier, const QList< QEventPoint > &points={})
 
const QPointingDevicepointingDevice () const
 Returns the source device from which this event originates.
 
QPointingDevice::PointerType pointerType () const
 Returns the type of point that generated the event.
 
void setTimestamp (quint64 timestamp) override
 
qsizetype pointCount () const
 Returns the number of points in this pointer event.
 
QEventPointpoint (qsizetype i)
 Returns a QEventPoint reference for the point at index i.
 
const QList< QEventPoint > & points () const
 Returns a list of points in this pointer event.
 
QEventPointpointById (int id)
 Returns the point whose \l {QEventPoint::id()}{id} matches the given id, or nullptr if no such point is found.
 
bool allPointsGrabbed () const
 Returns true if every point in points() has either an exclusiveGrabber() or one or more passiveGrabbers().
 
bool allPointsAccepted () const
 Returns true if isPointAccepted() is true for every point in points(); otherwise false.
 
virtual void setAccepted (bool accepted) override
 \reimp
 
QObjectexclusiveGrabber (const QEventPoint &point) const
 Returns the object which has been set to receive all future update events and the release event containing the given point.
 
void setExclusiveGrabber (const QEventPoint &point, QObject *exclusiveGrabber)
 Informs the delivery logic that the given exclusiveGrabber is to receive all future update events and the release event containing the given point, and that delivery to other items can be skipped.
 
QList< QPointer< QObject > > passiveGrabbers (const QEventPoint &point) const
 Returns the list of objects that have been requested to receive all future update events and the release event containing the given point.
 
void clearPassiveGrabbers (const QEventPoint &point)
 Removes all passive grabbers from the given point.
 
bool addPassiveGrabber (const QEventPoint &point, QObject *grabber)
 Informs the delivery logic that the given grabber is to receive all future update events and the release event containing the given point, regardless where else those events may be delivered.
 
bool removePassiveGrabber (const QEventPoint &point, QObject *grabber)
 Removes the passive grabber from the given point if it was previously added.
 
- Public Member Functions inherited from QInputEvent
 QInputEvent (Type type, const QInputDevice *m_dev, Qt::KeyboardModifiers modifiers=Qt::NoModifier)
 
const QInputDevicedevice () const
 
QInputDevice::DeviceType deviceType () const
 Returns the type of device that generated the event.
 
Qt::KeyboardModifiers modifiers () const
 Returns the keyboard modifier flags that existed immediately before the event occurred.
 
void setModifiers (Qt::KeyboardModifiers modifiers)
 
quint64 timestamp () const
 Returns the window system's timestamp for this event.
 
- Public Member Functions inherited from QEvent
 QEvent (Type type)
 Constructs an event object of type type.
 
virtual ~QEvent ()
 Destroys the event.
 
Type type () const
 Returns the event type.
 
bool spontaneous () const
 Returns true if the event originated outside the application (a system event); otherwise returns false.
 
bool isAccepted () const
 
void accept ()
 Sets the accept flag of the event object, the equivalent of calling setAccepted(true).
 
void ignore ()
 Clears the accept flag parameter of the event object, the equivalent of calling setAccepted(false).
 
bool isInputEvent () const noexcept
 
bool isPointerEvent () const noexcept
 
bool isSinglePointEvent () const noexcept
 
virtual QEventclone () const
 Creates and returns an identical copy of this event.
 

Protected Attributes

QPointF m_oldPos
 
- Protected Attributes inherited from QSinglePointEvent
Qt::MouseButton m_button = Qt::NoButton
 
Qt::MouseButtons m_mouseState = Qt::NoButton
 
Qt::MouseEventSource m_source
 
quint16 m_reserved
 
quint16 m_reserved2: 11
 
quint16 m_doubleClick: 1
 
quint16 m_phase: 3
 
quint16 m_invertedScrolling: 1
 
- Protected Attributes inherited from QPointerEvent
QList< QEventPointm_points
 
- Protected Attributes inherited from QInputEvent
const QInputDevicem_dev = nullptr
 
quint64 m_timeStamp = 0
 
Qt::KeyboardModifiers m_modState = Qt::NoModifier
 
quint32 m_reserved = 0
 
- Protected Attributes inherited from QEvent
quint16 t
 

Additional Inherited Members

- Public Types inherited from QEvent
enum  Type {
  None = 0 , Timer = 1 , MouseButtonPress = 2 , MouseButtonRelease = 3 ,
  MouseButtonDblClick = 4 , MouseMove = 5 , KeyPress = 6 , KeyRelease = 7 ,
  FocusIn = 8 , FocusOut = 9 , FocusAboutToChange = 23 , Enter = 10 ,
  Leave = 11 , Paint = 12 , Move = 13 , Resize = 14 ,
  Create = 15 , Destroy = 16 , Show = 17 , Hide = 18 ,
  Close = 19 , Quit = 20 , ParentChange = 21 , ParentAboutToChange = 131 ,
  ThreadChange = 22 , WindowActivate = 24 , WindowDeactivate = 25 , ShowToParent = 26 ,
  HideToParent = 27 , Wheel = 31 , WindowTitleChange = 33 , WindowIconChange = 34 ,
  ApplicationWindowIconChange = 35 , ApplicationFontChange = 36 , ApplicationLayoutDirectionChange = 37 , ApplicationPaletteChange = 38 ,
  PaletteChange = 39 , Clipboard = 40 , Speech = 42 , MetaCall = 43 ,
  SockAct = 50 , WinEventAct = 132 , DeferredDelete = 52 , DragEnter = 60 ,
  DragMove = 61 , DragLeave = 62 , Drop = 63 , DragResponse = 64 ,
  ChildAdded = 68 , ChildPolished = 69 , ChildRemoved = 71 , ShowWindowRequest = 73 ,
  PolishRequest = 74 , Polish = 75 , LayoutRequest = 76 , UpdateRequest = 77 ,
  UpdateLater = 78 , EmbeddingControl = 79 , ActivateControl = 80 , DeactivateControl = 81 ,
  ContextMenu = 82 , InputMethod = 83 , TabletMove = 87 , LocaleChange = 88 ,
  LanguageChange = 89 , LayoutDirectionChange = 90 , Style = 91 , TabletPress = 92 ,
  TabletRelease = 93 , OkRequest = 94 , HelpRequest = 95 , IconDrag = 96 ,
  FontChange = 97 , EnabledChange = 98 , ActivationChange = 99 , StyleChange = 100 ,
  IconTextChange = 101 , ModifiedChange = 102 , MouseTrackingChange = 109 , WindowBlocked = 103 ,
  WindowUnblocked = 104 , WindowStateChange = 105 , ReadOnlyChange = 106 , ToolTip = 110 ,
  WhatsThis = 111 , StatusTip = 112 , ActionChanged = 113 , ActionAdded = 114 ,
  ActionRemoved = 115 , FileOpen = 116 , Shortcut = 117 , ShortcutOverride = 51 ,
  WhatsThisClicked = 118 , ToolBarChange = 120 , ApplicationActivate = 121 , ApplicationActivated = ApplicationActivate ,
  ApplicationDeactivate = 122 , ApplicationDeactivated = ApplicationDeactivate , QueryWhatsThis = 123 , EnterWhatsThisMode = 124 ,
  LeaveWhatsThisMode = 125 , ZOrderChange = 126 , HoverEnter = 127 , HoverLeave = 128 ,
  HoverMove = 129 , AcceptDropsChange = 152 , ZeroTimerEvent = 154 , GraphicsSceneMouseMove = 155 ,
  GraphicsSceneMousePress = 156 , GraphicsSceneMouseRelease = 157 , GraphicsSceneMouseDoubleClick = 158 , GraphicsSceneContextMenu = 159 ,
  GraphicsSceneHoverEnter = 160 , GraphicsSceneHoverMove = 161 , GraphicsSceneHoverLeave = 162 , GraphicsSceneHelp = 163 ,
  GraphicsSceneDragEnter = 164 , GraphicsSceneDragMove = 165 , GraphicsSceneDragLeave = 166 , GraphicsSceneDrop = 167 ,
  GraphicsSceneWheel = 168 , GraphicsSceneLeave = 220 , KeyboardLayoutChange = 169 , DynamicPropertyChange = 170 ,
  TabletEnterProximity = 171 , TabletLeaveProximity = 172 , NonClientAreaMouseMove = 173 , NonClientAreaMouseButtonPress = 174 ,
  NonClientAreaMouseButtonRelease = 175 , NonClientAreaMouseButtonDblClick = 176 , MacSizeChange = 177 , ContentsRectChange = 178 ,
  MacGLWindowChange = 179 , FutureCallOut = 180 , GraphicsSceneResize = 181 , GraphicsSceneMove = 182 ,
  CursorChange = 183 , ToolTipChange = 184 , NetworkReplyUpdated = 185 , GrabMouse = 186 ,
  UngrabMouse = 187 , GrabKeyboard = 188 , UngrabKeyboard = 189 , StateMachineSignal = 192 ,
  StateMachineWrapped = 193 , TouchBegin = 194 , TouchUpdate = 195 , TouchEnd = 196 ,
  NativeGesture = 197 , RequestSoftwareInputPanel = 199 , CloseSoftwareInputPanel = 200 , WinIdChange = 203 ,
  Gesture = 198 , GestureOverride = 202 , ScrollPrepare = 204 , Scroll = 205 ,
  Expose = 206 , InputMethodQuery = 207 , OrientationChange = 208 , TouchCancel = 209 ,
  ThemeChange = 210 , SockClose = 211 , PlatformPanel = 212 , StyleAnimationUpdate = 213 ,
  ApplicationStateChange = 214 , WindowChangeInternal = 215 , ScreenChangeInternal = 216 , PlatformSurface = 217 ,
  Pointer = 218 , TabletTrackingChange = 219 , WindowAboutToChangeInternal = 221 , DevicePixelRatioChange = 222 ,
  ChildWindowAdded = 223 , ChildWindowRemoved = 224 , ParentWindowAboutToChange = 225 , ParentWindowChange = 226 ,
  User = 1000 , MaxUser = 65535
}
 This enum type defines the valid event types in Qt. More...
 
- Static Public Member Functions inherited from QEvent
static int registerEventType (int hint=-1) noexcept
 
- Protected Member Functions inherited from QSinglePointEvent
 QSinglePointEvent (Type type, const QPointingDevice *dev, const QEventPoint &point, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::MouseEventSource source)
 
 QSinglePointEvent (Type type, const QPointingDevice *dev, const QPointF &localPos, const QPointF &scenePos, const QPointF &globalPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::MouseEventSource source=Qt::MouseEventNotSynthesized)
 
- Protected Member Functions inherited from QPointerEvent
 QPointerEvent (Type type, SinglePointEventTag, const QInputDevice *dev, Qt::KeyboardModifiers modifiers=Qt::NoModifier)
 
- Protected Member Functions inherited from QInputEvent
 QInputEvent (Type type, PointerEventTag, const QInputDevice *dev, Qt::KeyboardModifiers modifiers=Qt::NoModifier)
 
 QInputEvent (Type type, SinglePointEventTag, const QInputDevice *dev, Qt::KeyboardModifiers modifiers=Qt::NoModifier)
 
- Protected Member Functions inherited from QEvent
 QT_DEFINE_TAG_STRUCT (InputEventTag)
 
 QEvent (Type type, InputEventTag)
 
 QT_DEFINE_TAG_STRUCT (PointerEventTag)
 
 QEvent (Type type, PointerEventTag)
 
 QT_DEFINE_TAG_STRUCT (SinglePointEventTag)
 
 QEvent (Type type, SinglePointEventTag)
 
- Properties inherited from QSinglePointEvent
QObjectexclusivePointGrabber
 the object that will receive future updates
 

Detailed Description

\inmodule QtGui

The QHoverEvent class contains parameters that describe a mouse event.

Mouse events occur when a mouse cursor is moved into, out of, or within a widget, and if the widget has the Qt::WA_Hover attribute.

The function pos() gives the current cursor position, while oldPos() gives the old mouse position.

There are a few similarities between the events QEvent::HoverEnter and QEvent::HoverLeave, and the events QEvent::Enter and QEvent::Leave. However, they are slightly different because we do an update() in the event handler of HoverEnter and HoverLeave.

QEvent::HoverMove is also slightly different from QEvent::MouseMove. Let us consider a top-level window A containing a child B which in turn contains a child C (all with mouse tracking enabled):

Now, if you move the cursor from the top to the bottom in the middle of A, you will get the following QEvent::MouseMove events:

\list 1

  • A::MouseMove
  • B::MouseMove
  • C::MouseMove \endlist

You will get the same events for QEvent::HoverMove, except that the event always propagates to the top-level regardless whether the event is accepted or not. It will only stop propagating with the Qt::WA_NoMousePropagation attribute.

In this case the events will occur in the following way:

\list 1

  • A::HoverMove
  • A::HoverMove, B::HoverMove
  • A::HoverMove, B::HoverMove, C::HoverMove \endlist

Definition at line 246 of file qevent.h.

Constructor & Destructor Documentation

◆ QHoverEvent()

QHoverEvent::QHoverEvent ( Type type,
const QPointF & scenePos,
const QPointF & globalPos,
const QPointF & oldPos,
Qt::KeyboardModifiers modifiers = Qt::NoModifier,
const QPointingDevice * device = QPointingDevice::primaryPointingDevice() )

Constructs a hover event object originating from device.

The type parameter must be QEvent::HoverEnter, QEvent::HoverLeave, or QEvent::HoverMove.

The scenePos is the current mouse cursor's position relative to the receiving window or scene, oldPos is its previous such position, and globalPos is the mouse position in absolute coordinates. modifiers hold the state of all keyboard modifiers at the time of the event.

Definition at line 1057 of file qevent.cpp.

Member Function Documentation

◆ isUpdateEvent()

bool QHoverEvent::isUpdateEvent ( ) const
inlineoverridevirtual

Reimplemented from QPointerEvent.

Definition at line 270 of file qevent.h.

◆ oldPos()

QPoint QHoverEvent::oldPos ( ) const
inline

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

If there is no previous position, oldPos() will return the same position as pos().

On QEvent::HoverEnter events, this position will always be QPoint(-1, -1).

See also
pos()

Definition at line 273 of file qevent.h.

◆ oldPosF()

QPointF QHoverEvent::oldPosF ( ) const
inline

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

If there is no previous position, oldPosF() will return the same position as posF().

On QEvent::HoverEnter events, this position will always be QPointF(-1, -1).

See also
posF()

Definition at line 274 of file qevent.h.

Member Data Documentation

◆ m_oldPos

QPointF QHoverEvent::m_oldPos
protected

Definition at line 277 of file qevent.h.


The documentation for this class was generated from the following files: