class QHoverEvent#

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

Inheritance diagram of PySide6.QtGui.QHoverEvent

概要#

方法#

注意

此文档可能包含自动从C++转换为Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您还可以通过在https:/bugreports.qt.io/projects/PYSIDE 上创建票据来告知我们。

详细描述#

当鼠标光标移动到、离开或处于小部件内时(如果小部件有Qt::WA_Hover属性),会触发鼠标事件。

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

QEvent::HoverEnter和QEvent::HoverLeave事件与QEvent::Enter和QEvent::Leave事件之间有一些相似之处,但它们略有不同,因为我们在HoverEnter和HoverLeave的事件处理程序中执行了update()。

QEvent::HoverMove也与QEvent::MouseMove略有不同。让我们考虑一个顶级窗口A,其中包含一个子窗口B,而B又包含一个子窗口C(所有这些都有启用鼠标跟踪)

../../_images/hoverevents.png

现在,如果您在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

__init__(type, pos, oldPos[, modifiers=Qt.NoModifier[, device=QPointingDevice.primaryPointingDevice()]])#
参数:

注意

此函数已弃用。

请使用其他构造函数(需要全局位置)。

device 创建一个悬停事件对象。

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

pos 是相对于接收小部件当前鼠标光标的位置,而 oldPos 是它之前的此类位置。 modifiers 保存事件发生时所有键盘修改符的状态。

__init__(type, scenePos, globalPos, oldPos[, modifiers=Qt.NoModifier[, device=QPointingDevice.primaryPointingDevice()]])
参数:

device 创建一个悬停事件对象。

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

代码scenePos指的是当前鼠标光标相对于接收窗口或场景的位置,oldPos则是其之前的位置,而globalPos是鼠标在绝对坐标系中的位置。modifiers则存储了事件发生时所有键盘修饰符的状态。

__init__(arg__1)
参数:

arg__1 - QHoverEvent

oldPos()#
返回类型:

QPoint

返回鼠标指针相对于事件接收小部件的前一个位置。如果没有前一个位置,oldPos()将返回与pos()相同的位置。

在QEvent::HoverEnter事件中,这个位置总是QPoint(-1, -1)。

另请参阅

pos()

oldPosF()#
返回类型:

QPointF

返回鼠标指针相对于事件接收小部件的前一个位置。如果没有前一个位置,oldPosF()将返回与posF()相同的位置。

在QEvent::HoverEnter事件中,这个位置总是QPointF(-1, -1)。

另请参阅

posF()

pos()#
返回类型:

QPoint

注意

此函数已弃用。

请使用position() .toPoint()代替。

返回鼠标指针相对于事件接收小部件的位置。

在QEvent::HoverLeave事件中,这个位置总是QPoint(-1, -1)。

另请参阅

oldPos()

posF()#
返回类型:

QPointF

注意

此函数已弃用。

请使用position()代替。

返回鼠标指针相对于事件接收小部件的位置。

在QEvent::HoverLeave事件中,这个位置总是QPointF(-1, -1)。

另请参阅

oldPosF()