我正在尝试在透明的QDeclarativeItem中捕获鼠标事件,将其包装在QML中的所有其他元素周围,并在整个程序中记录有关鼠标事件的信息。 mouseMoveEvents(QGraphicsSceneMouseEvent *)但只有在实现 mousePressEvent(QGraphicsSceneMouseEvent *)并按下鼠标按钮时才会执行。
在QWidget中,我会通过调用 setMouseTracking(true)来解决这个问题。
如何在QDeclarativeItem中执行此操作?
答案 0 :(得分:1)
使用 hoverMoveEvent(QGraphicsSceneHoverEvent *)并设置 setAcceptHoverEvents(true)解决了这个问题。它的工作方式与mouseMoveEvent相同,但是当没有按下鼠标按钮时也会调用它。