我正在使用 QGraphicsScene 在 Qt4 中编写一个小 GUI 实用程序。当您四处移动时,其中一个项目会在水平面上跟踪鼠标,按住修改键可以更改项目的旋转。旋转项目时,我希望鼠标光标变为弯曲箭头(或其他东西)并在视觉上锁定到位,因此移动它会影响项目,但不会影响鼠标光标本身。
释放修饰符会将(以前不可见的)光标放回其原始点:这是为了防止项目“跳转”到鼠标的新水平位置,这是我的主要问题。
我真的不知道如何在 Qt4 中实现这一点,而不涉及做一些可怕的事情,比如:
- 按下修改器时存储当前鼠标位置
- 将光标切换到什么都没有的位图
- 不知何故在原来的地方画了一个假光标(!?)
- 删除假光标并在完成后切换鼠标位置
如果有人能想出更好的方法来实现这一点,将不胜感激。首先,我并不太喜欢整个固定鼠标光标的想法,但这是我能想到的解决这个问题的唯一方法,控制方案可以很好地工作。
编辑:我尝试了上面概述的废话方案,但遇到了以编程方式移动鼠标位置的问题。仍然试图记住我以前在哪里使用过类似的系统:基本上它是一个旋钮。您单击它并上下移动鼠标,从而旋转旋钮。当您松开鼠标按钮时,指针又回到了您最初放置的位置,即旋钮上。