PySide6.QtGui.QHoverEvent¶
- class QHoverEvent¶
QHoverEvent类包含描述鼠标事件的参数。更多…概要¶
方法¶
def
__init__()def
oldPos()def
oldPosF()def
pos()def
posF()
注意
本文档可能包含从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(所有窗口都启用了鼠标跟踪):
现在,如果你在A的中间将光标从顶部移动到底部,你将得到以下QEvent::MouseMove事件:
A::MouseMove
B::鼠标移动
C::MouseMove
您将获得与QEvent::HoverMove相同的事件,不同之处在于该事件无论是否被接受,都会一直传播到顶层。只有在设置了Qt::WA_NoMousePropagation属性的情况下,它才会停止传播。
在这种情况下,事件将按以下方式发生:
A::HoverMove
A::HoverMove, B::HoverMove
A::HoverMove, B::HoverMove, C::HoverMove
- __init__(arg__1)¶
- Parameters:
arg__1 –
QHoverEvent
- __init__(type, pos, oldPos[, modifiers=Qt.NoModifier[, device=QPointingDevice.primaryPointingDevice()]])
- Parameters:
type –
类型pos –
QPointFoldPos –
QPointFmodifiers –
KeyboardModifier的组合设备 –
QPointingDevice
注意
此函数已弃用。
请改用另一个构造函数(需要全局位置)。
构造一个源自
device的悬停事件对象。type参数必须是 QEvent::HoverEnter、QEvent::HoverLeave 或 QEvent::HoverMove。pos是当前鼠标光标相对于接收部件的位置,而oldPos是其之前的位置。modifiers保存了事件发生时所有键盘修饰键的状态。- __init__(type, scenePos, globalPos, oldPos[, modifiers=Qt.NoModifier[, device=QPointingDevice.primaryPointingDevice()]])
- Parameters:
type –
类型scenePos –
QPointFglobalPos –
QPointFoldPos –
QPointFmodifiers –
KeyboardModifier的组合设备 –
QPointingDevice
构造一个源自
device的悬停事件对象。type参数必须是 QEvent::HoverEnter、QEvent::HoverLeave 或 QEvent::HoverMove。scenePos是当前鼠标光标相对于接收窗口或场景的位置,oldPos是它之前的位置,而globalPos是鼠标在绝对坐标中的位置。modifiers保存了事件发生时所有键盘修饰键的状态。返回鼠标光标相对于接收到事件的小部件的先前位置。如果没有先前的位置,oldPos() 将返回与 pos() 相同的位置。
在QEvent::HoverEnter事件中,此位置将始终为QPoint(-1, -1)。
另请参阅
返回鼠标光标相对于接收到事件的小部件的先前位置。如果没有先前的位置,oldPosF() 将返回与 posF() 相同的位置。
在QEvent::HoverEnter事件中,此位置将始终为QPointF(-1, -1)。
另请参阅
使用
position().toPoint() 代替。返回鼠标光标的位置,相对于接收到事件的小部件。
在QEvent::HoverLeave事件中,此位置将始终为QPoint(-1, -1)。
另请参阅
使用
position()代替。返回鼠标光标的位置,相对于接收到事件的小部件。
在QEvent::HoverLeave事件中,此位置将始终为QPointF(-1, -1)。
另请参阅