QDeclarativeItem mouseMoveEvent(QGraphicsSceneMouseEvent * event)无法正常工作

时间:2017-03-01 13:02:26

标签: c++ qt qml qt4.8

我正在尝试在透明的QDeclarativeItem中捕获鼠标事件,将其包装在QML中的所有其他元素周围,并在整个程序中记录有关鼠标事件的信息。 mouseMoveEvents(QGraphicsSceneMouseEvent *)但只有在实现 mousePressEvent(QGraphicsSceneMouseEvent *)并按下鼠标按钮时才会执行。

在QWidget中,我会通过调用 setMouseTracking(true)来解决这个问题。

如何在QDeclarativeItem中执行此操作?

1 个答案:

答案 0 :(得分:1)

使用 hoverMoveEvent(QGraphicsSceneHoverEvent *)并设置 setAcceptHoverEvents(true)解决了这个问题。它的工作方式与mouseMoveEvent相同,但是当没有按下鼠标按钮时也会调用它。