QHoverEvent 类

The QHoverEvent 类包含鼠标事件的描述参数。 更多...

头: #include <QHoverEvent>
qmake: QT += gui
继承: QInputEvent

公共函数

QHoverEvent (QEvent::Type type , const QPointF & pos , const QPointF & oldPos , Qt::KeyboardModifiers modifiers = Qt::NoModifier)
QPoint oldPos () const
const QPointF & oldPosF () const
QPoint pos () const
const QPointF & posF () const

保护变量

QPointF op
QPointF p

额外继承成员

详细描述

The QHoverEvent 类包含鼠标事件的描述参数。

出现鼠标事件,当鼠标光标移入/移出 Widget,或在 Widget 内移动时,且若小部件拥有 Qt::WA_Hover 属性。

函数 pos () 给出当前光标位置,而 oldPos () 给出旧鼠标位置。

有一些相似介于事件 QEvent::HoverEnter and QEvent::HoverLeave ,和事件 QEvent::Enter and QEvent::Leave 。不管怎样,它们略有不同,因为会进行 update() 在事件处理程序 HoverEnter and HoverLeave .

QEvent::HoverMove 也稍微不同于 QEvent::MouseMove 。让我们考虑顶层 A 窗口,其包含子级 B,而 B 又包含子级 C (都有启用鼠标跟踪):

现在,若将光标从 A 中间的顶部移到底部,将获得下列 QEvent::MouseMove 事件:

  1. A::MouseMove
  2. B::MouseMove
  3. C::MouseMove

将获得相同事件 QEvent::HoverMove ,除事件始终会被传播给顶层外,不管事件是否被接受。它才会停止传播采用 Qt::WA_NoMousePropagation 属性。

在此情况下,事件将按下列方式出现:

  1. A::HoverMove
  2. A::HoverMove, B::HoverMove
  3. A::HoverMove, B::HoverMove, C::HoverMove

成员函数文档编制

QHoverEvent:: QHoverEvent ( QEvent::Type type , const QPointF & pos , const QPointF & oldPos , Qt::KeyboardModifiers modifiers = Qt::NoModifier)

构造悬停事件对象。

The type 参数必须是 QEvent::HoverEnter , QEvent::HoverLeave ,或 QEvent::HoverMove .

The pos 是相对于接收 Widget 的当前鼠标光标位置,而 oldPos 是它的先前这种位置。 modifiers 保持事件发生时所有键盘修饰符的状态。

QPoint QHoverEvent:: oldPos () const

返回鼠标光标的先前位置,相对接收事件 Widget。若没有先前位置,oldPos() 将返回相同位置如 pos ().

On QEvent::HoverEnter 事件,此位置将始终是 QPoint (-1, -1).

另请参阅 pos ().

const QPointF &QHoverEvent:: oldPosF () const

返回鼠标光标的先前位置,相对接收事件 Widget。若没有先前位置,oldPosF() 将返回相同位置如 posF ().

On QEvent::HoverEnter 事件,此位置将始终是 QPointF (-1, -1).

另请参阅 posF ().

QPoint QHoverEvent:: pos () const

返回鼠标光标的位置,相对于接收事件的 Widget。

On QEvent::HoverLeave 事件,此位置将始终是 QPoint (-1, -1).

另请参阅 oldPos ().

const QPointF &QHoverEvent:: posF () const

返回鼠标光标的位置,相对于接收事件的 Widget。

On QEvent::HoverLeave 事件,此位置将始终是 QPointF (-1, -1).

另请参阅 oldPosF ().