【问题标题】:overlaping QGraphicsItem-s hover events重叠 QGraphicsItem-s 悬停事件
【发布时间】:2011-10-31 17:51:17
【问题描述】:

我有更多的 QGraphicsItems 在彼此之上。如何使悬停事件可用于所有项目?只有最后添加的项目(顶部的项目)接受悬停事件。

谢谢

【问题讨论】:

  • 如何将鼠标移动到被另一个项目覆盖的项目上?

标签: c++ qt qgraphicsitem


【解决方案1】:

你可以模拟这些事件,你“只是”必须:

  • QGraphicsViewQGraphicsScene 派生类中重新实现mouseMoveEvent
  • 使用QGraphicsView::items(QPointF)获取鼠标下方的物品列表
  • 使用QGraphicsScene::sendEvent创建和发送事件,只要在列表中添加或删除了一个项目,除了位于堆栈顶部的项目(已处理)之外的所有项目。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多