QHoverEvent Class
The QHoverEvent class contains parameters that describe a mouse event. More...
| Header: | #include <QHoverEvent> |
| qmake: | QT += gui |
| Inherits: | QInputEvent |
Detailed Description
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:
- A::MouseMove
- B::MouseMove
- C::MouseMove
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:
- A::HoverMove
- A::HoverMove, B::HoverMove
- A::HoverMove, B::HoverMove, C::HoverMove