QtBase  v6.3.1
Public Member Functions | Protected Attributes | List of all members
QHoverEvent Class Reference

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

#include <qevent.h>

Inheritance diagram for QHoverEvent:
Inheritance graph
[legend]
Collaboration diagram for QHoverEvent:
Collaboration graph
[legend]

Public Member Functions

 QHoverEvent (Type type, const QPointF &pos, const QPointF &globalPos, const QPointF &oldPos, Qt::KeyboardModifiers modifiers=Qt::NoModifier, const QPointingDevice *device=QPointingDevice::primaryPointingDevice())
 
 ~QHoverEvent ()
 
QHoverEventclone () const override
 
bool isUpdateEvent () const override
 
QPoint oldPos () const
 
QPointF oldPosF () const
 
- Public Member Functions inherited from QSinglePointEvent
Qt::MouseButton button () const
 
Qt::MouseButtons buttons () const
 
QPointF position () const
 
QPointF scenePosition () const
 
QPointF globalPosition () const
 
bool isBeginEvent () const override
 
bool isEndEvent () const override
 
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={})
 
 ~QPointerEvent ()
 
const QPointingDevicepointingDevice () const
 
QPointingDevice::PointerType pointerType () const
 
void setTimestamp (quint64 timestamp) override
 
qsizetype pointCount () const
 
QEventPointpoint (qsizetype i)
 
const QList< QEventPoint > & points () const
 
QEventPointpointById (int id)
 
bool allPointsGrabbed () const
 
bool allPointsAccepted () const
 
virtual void setAccepted (bool accepted) override
 
QObjectexclusiveGrabber (const QEventPoint &point) const
 
void setExclusiveGrabber (const QEventPoint &point, QObject *exclusiveGrabber)
 
QList< QPointer< QObject > > passiveGrabbers (const QEventPoint &point) const
 
void clearPassiveGrabbers (const QEventPoint &point)
 
bool addPassiveGrabber (const QEventPoint &point, QObject *grabber)
 
bool removePassiveGrabber (const QEventPoint &point, QObject *grabber)
 
- Public Member Functions inherited from QInputEvent
 QInputEvent (Type type, const QInputDevice *m_dev, Qt::KeyboardModifiers modifiers=Qt::NoModifier)
 
 ~QInputEvent ()
 
const QInputDevicedevice () const
 
QInputDevice::DeviceType deviceType () const
 
Qt::KeyboardModifiers modifiers () const
 
void setModifiers (Qt::KeyboardModifiers modifiers)
 
quint64 timestamp () const
 
- Public Member Functions inherited from QEvent
 QEvent (Type type)
 
virtual ~QEvent ()
 
Type type () const
 
bool spontaneous () const
 
bool isAccepted () const
 
void accept ()
 
void ignore ()
 
bool isInputEvent () const noexcept
 
bool isPointerEvent () const noexcept
 
bool isSinglePointEvent () const noexcept
 

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 , User = 1000 , MaxUser = 65535
}
 
- 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
 QEvent (Type type, InputEventTag)
 
 QEvent (Type type, PointerEventTag)
 
 QEvent (Type type, SinglePointEventTag)
 
- Properties inherited from QSinglePointEvent
Q_GADGETQObject * exclusivePointGrabber
 the object that will receive future updates More...
 

Detailed Description

The QHoverEvent class contains parameters that describe a mouse event.

\inmodule QtGui

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

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

Definition at line 280 of file qevent.h.

Constructor & Destructor Documentation

◆ QHoverEvent()

QHoverEvent::QHoverEvent ( Type  type,
const QPointF pos,
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 pos is the current mouse cursor's position relative to the receiving widget, 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 1077 of file qevent.cpp.

◆ ~QHoverEvent()

QHoverEvent::~QHoverEvent ( )

Definition at line 1107 of file qevent.cpp.

Member Function Documentation

◆ clone()

QHoverEvent* QHoverEvent::clone ( ) const
inlineoverridevirtual

Creates and returns an identical copy of this event.

Since
6.0

Reimplemented from QSinglePointEvent.

Definition at line 295 of file qevent.h.

◆ isUpdateEvent()

bool QHoverEvent::isUpdateEvent ( ) const
inlineoverridevirtual

Returns true if this event does not include a change in \l {buttons()}{button state}.

Reimplemented from QSinglePointEvent.

Definition at line 307 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 310 of file qevent.h.

◆ oldPosF()

const 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 311 of file qevent.h.

Member Data Documentation

◆ m_oldPos

QPointF QHoverEvent::m_oldPos
protected

Definition at line 314 of file qevent.h.


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