gpt4 book ai didi

c++ - Qt4:在操作 QGraphicsItem 时将鼠标光标锁定到位

转载 作者:太空宇宙 更新时间:2023-11-04 12:26:11 26 4
gpt4 key购买 nike

我正在使用 QGraphicsScene 在 Qt4 中编写一个小的 GUI 实用程序。当您四处移动时,其中一个项目会在水平面上跟踪鼠标,按住修改键可以更改项目的旋转。旋转项目时,我希望鼠标光标变为弯曲的箭头(或其他东西)并在视觉上锁定到位,因此移动它会影响项目而不是鼠标光标本身。

释放修改器会将(之前不可见的)光标放回原点:这是为了防止项目之后“跳”到鼠标的新水平位置,这是我的主要问题。

我真的不知道如何在不涉及做可怕事情的 Qt4 中实现它:

  • 当按下修饰符时存储当前鼠标位置
  • 将光标切换到空位图
  • 以某种方式在原始位置绘制一个假光标(!?)
  • 删除假光标,完成后将鼠标位置切换回来

如果有人能想到更好的方法来实现这一点,将不胜感激。首先,我并不太执着于整个固定鼠标光标的想法,但这是我能想到的通过控制方案解决这个问题的唯一方法,否则效果很好。

编辑:我尝试了上面概述的废话方案,但遇到了以编程方式移动鼠标位置的问题。仍然试图记住我以前在哪里使用过类似的系统:基本上它是一个旋钮。您单击它并上下移动鼠标,从而旋转旋钮。当您释放鼠标按钮时,指针会回到您最初放置它的位置,即旋钮上。

最佳答案

在这种情况下使用事件过滤器来捕获 QMouseEvents 怎么样?

关于c++ - Qt4:在操作 QGraphicsItem 时将鼠标光标锁定到位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2372272/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com