【发布时间】:2017-02-14 00:13:20
【问题描述】:
我想保留用户缩放和拖动QGraphicsScene 的能力,因此我不能简单地锁定QGraphicsView。
然而,用户不应该能够将QGraphicsItem 拖出场景视口。因此,我正在寻找一种在不忽略 DragMoveEvent 的情况下中断 MouseDragEvent 的方法(也就是让 QGraphicsItem 跳回其原点)。我试图使用releaseMouse()-function 来完成这种行为,但这根本不起作用。有什么建议吗?
谢谢!
【问题讨论】:
-
我不了解 Qt,但请查看 Win32 API 中的 SetCapture 和 ClipCursor。
-
stackoverflow.com/questions/11172420/moving-object-with-mouse 可能会为此目的覆盖 mouseMoveEvent?
-
将 QGraphicsItem 拖出场景视口 - QGraphicsItem 存在于 QGraphicsScene 中,您不能将其拖出场景视口。
标签: c++ qt drag-and-drop qgraphicsscene