我在 Linux 上使用 Qt 5.3。我有一个 QGraphicsScene 和一个 QGraphicsItem。在我的 QGraphicsItem 中,我实现了 mousePressEvent、mouseReleaseEvent、mouseMoveEvent 来捕获鼠标事件。
它工作正常,但我必须双击(使用中间按钮)才能获得一个非常奇怪的中间按钮单击事件。我还发现,当没有按下任何按钮时,我不会收到任何鼠标移动事件。
我还在我的 QGraphicsItem 中实现了 sceneEvent,但即使没有按下按钮,它也会错过鼠标移动,并且只有在我双击时才检测到我的中间按钮。我还有一个 Wacom Intuos,它有(物理)右按钮和中间按钮,右按钮可以正常工作,但我还必须双击中间按钮才能获得任何鼠标按下事件。
中间按钮似乎在其他应用程序中有效,并且 xev 正确报告事件。
有什么方法可以使至少鼠标中键正常工作吗?
最佳答案
要接收鼠标移动事件,您必须在窗口中启用鼠标跟踪
setMouseTracking(true);
关于c++ - QGraphicsItem 鼠标中键按下事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29782305/