PySide6.QtGui.QHoverEvent

class QHoverEvent

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

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::鼠标移动

  3. C::MouseMove

您将获得与QEvent::HoverMove相同的事件,不同之处在于该事件无论是否被接受,都会一直传播到顶层。只有在设置了Qt::WA_NoMousePropagation属性的情况下,它才会停止传播。

在这种情况下,事件将按以下方式发生:

  1. A::HoverMove

  2. A::HoverMove, B::HoverMove

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

__init__(arg__1)
Parameters:

arg__1QHoverEvent

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

注意

此函数已弃用。

请改用另一个构造函数(需要全局位置)。

构造一个源自device的悬停事件对象。

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

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

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

构造一个源自device的悬停事件对象。

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

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

oldPos()
Return type:

QPoint

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

在QEvent::HoverEnter事件中,此位置将始终为QPoint(-1, -1)。

另请参阅

pos()

oldPosF()
Return type:

QPointF

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

在QEvent::HoverEnter事件中,此位置将始终为QPointF(-1, -1)。

另请参阅

posF()

pos()
Return type:

QPoint

注意

此函数已弃用。

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

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

在QEvent::HoverLeave事件中,此位置将始终为QPoint(-1, -1)。

另请参阅

oldPos()

posF()
Return type:

QPointF

注意

此函数已弃用。

使用 position() 代替。

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

在QEvent::HoverLeave事件中,此位置将始终为QPointF(-1, -1)。

另请参阅

oldPosF()