QGraphicsItem鼠标中键活动

时间:2015-04-21 20:18:32

标签: c++ qt mouseevent mouse qgraphicsscene

我在Linux上使用Qt 5.3。我有一个QGraphicsScene和一个QGraphicsItem。在我的QGraphicsItem中,我实现了mousePressEvent,mouseReleaseEvent,mouseMoveEvent来捕获鼠标事件。

它工作正常,但我必须双击(使用中间按钮)才能获得中间按钮单击事件,这很奇怪。此外,我发现当没有按下任何按钮时,我没有得到任何鼠标移动事件。

我还在我的QGraphicsItem中实现了sceneEvent,但是除非按下按钮,否则它也会错过鼠标移动,并且只有在我双击时才会检测到我的中间按钮。我还有一个Wacom Intuos,它有(物理)右侧和中间按钮,右侧按钮正常工作,但我也必须双击中间按钮才能获得鼠标按键事件。

中间按钮似乎在其他应用程序中工作,xev正确报告事件。

有没有办法让至少鼠标中键正常工作?

1 个答案:

答案 0 :(得分:0)

要接收鼠标移动事件,您必须在窗口中启用鼠标跟踪

setMouseTracking(true);