我有一个类似于Microsoft Paint的程序,我正在努力实现画布调整大小。我需要检测鼠标光标是否已移入调整范围,以及鼠标移动时是否按住鼠标左键。我设置了QGraphicsRectItem
作为我的画布,并且我希望在QGraphicsRectItem
中检测鼠标移动和鼠标按钮状态,而不选择。
我一直在使用QGraphicsItem.hoverMoveEvent
来检测光标是否在调整范围内,但是当按住鼠标左键时,hoverMoveEvent
不再被触发。
有mouseMoveEvent
,但as the docs say:
如果您确实收到此活动,则可以确定此项目也是如此 收到鼠标按下事件,此项目是当前鼠标 抓取器
在我的程序中,我的画布在调整大小时成为当前的鼠标抓取器是不切实际的。在调整画布大小时,我可能还有其他对象需要保留其选择状态。
我意识到我可以在包含QGraphicsScene
的{{1}}中执行此操作,但为了避免它们之间的相互依赖,我希望能够在QGraphicsRectitem
中完成所有操作。
所以我的问题是:如果可能的话,我如何检测QGraphicsRectItem
上的鼠标移动和鼠标按钮状态而不选择它?