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

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

如何在QDeclarativeItem中执行此操作?

最佳答案

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

10-08 11:22