QT的QHoverEvent类的使用

详细说明
QHoverEvent类包含描述鼠标事件的参数。

当鼠标光标移入,移出窗口小部件或在窗口小部件内时,并且窗口小部件具有Qt :: WA_Hover属性,就会发生鼠标事件。
函数pos()给出当前光标位置,而oldPos()给出旧鼠标位置。
事件QEvent :: HoverEnter和QEvent :: HoverLeave与事件QEvent :: Enter和QEvent :: Leave之间有一些相似之处。 但是,它们略有不同,因为我们在HoverEnter和HoverLeave的事件处理程序中执行了update()。
QEvent :: HoverMove也与QEvent :: MouseMove略有不同。 让我们考虑一个包含子B的顶层窗口A,子B又包含子C(均启用了鼠标跟踪):
在这里插入图片描述

现在,如果将光标从A的顶部移动到底部,您将获得以下QEvent :: MouseMove事件:
A ::MouseMove
B ::MouseMove
C :: MouseMove
您将获得与QEvent :: HoverMove相同的事件,除了无论事件是否被接受,该事件始终传播到顶层。 它只会停止使用Qt :: WA_NoMousePropagation属性进行传播。
在这种情况下,事件将以以下方式发生:
A :: HoverMove
A :: HoverMove,B :: HoverMove