我有一个有点类似于 Microsoft Paint 的程序,我正在努力实现画布调整大小。我需要检测鼠标光标是否已移入调整大小范围,以及在移动鼠标时是否按住鼠标左键。我有一个QGraphicsRectItem
设置作为我的画布,我想在我的 中检测鼠标移动和鼠标按钮状态QGraphicsRectItem
,而不是选择它。
我一直QGraphicsItem.hoverMoveEvent
用于检测光标是否在调整大小范围内,但是当按住鼠标左键时,hoverMoveEvent
不再触发。
有mouseMoveEvent
,但正如文档所说:
如果确实收到此事件,则可以确定该项目也收到了鼠标按下事件,并且该项目是当前的鼠标抓取器。
在我的程序中,我的画布在调整大小时成为当前的鼠标抓取器是不切实际的。在调整画布大小时,我可能有其他对象需要保留其选择状态。
我意识到我可以在QGraphicsScene
包含我QGraphicsRectitem
的QGraphicsRectItem
.
所以我的问题是:如果可能的话,我如何在QGraphicsRectitem
没有选择它的情况下检测鼠标移动和鼠标按钮状态?