gpt4 book ai didi

qt - QGraphicsItem - 跟随鼠标光标

转载 作者:行者123 更新时间:2023-12-04 12:57:55 28 4
gpt4 key购买 nike

我被困在如何解决这个问题上。我在一个场景中有一个 QGraphicsItem,我正在将一个悬停事件从场景传递给这个 child 。当移动事件发生时(我只是使用带有鼠标跟踪的 mouseMoveEvent),我希望另一个 QGraphicsItem 跟随光标。

我不需要任何碰撞检测、拖放等。只是一个跟随光标的项目。我能想到的只有两种方法是...

  • 当鼠标移动时,在鼠标位置绘制一个新的 QGraphicsItem。我需要清除场景,重新绘制所有内容,并在顶部绘制新位置。
  • 以某种方式使用动画框架,每当鼠标移动时,动画 QGraphicsItem 以在 1 毫秒内移动到新的鼠标位置。

  • 我可能是想太多了,或者不知道另一种方法来做到这一点......有什么建议吗?

    最佳答案

    我是这样做的

  • 创建 GraphicsItem cursor它将用鼠标光标移动,并将其指针存储在某处(例如在场景子类中。我有一个工具集,所以对我来说它在这些工具之一中)
  • 设置其 Z 值 ( QGraphicsItem::setZValue ),以便光标将绘制在场景中所有其他项目的上方
  • 跟踪 QGraphicsScene::mouseMoveEvent事件,将这些事件转发到 cursor指针,并更新项目的位置

  • 就是这样。
    我想它对应于您的解决方案 1,但由于 z 值功能,您不必清除场景。

    关于qt - QGraphicsItem - 跟随鼠标光标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9815134/

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