【问题标题】:Access other item contents within a QGraphicsScene访问 QGraphicsScene 中的其他项目内容
【发布时间】:2013-03-22 07:23:09
【问题描述】:

我有一个 dialog.cpp 文件,在这里我创建了我的QGraphicsScene,它使用了QGraphicsView

我创建了两个继承 QGraphicsPixmapItem"Vehicle""Junction" 的类。这两个对象都添加到我的 dialog.cpp 文件中的同一个 QGraphicsScene

我想从我的"Vehicle" 对象中调用一个属于"Junction" 成员的方法。该方法返回一个我需要的布尔值。

这更像是一个面向 c++ 的问题,因为我确信有一个简单的解决方案可以利用访问父级。

项目背景信息:每个"Vehicle" 沿着一条道路移动并接近"Junction"。然后车辆必须询问路口“我的车道有绿灯要开吗?”,路口会回复"true/false"

【问题讨论】:

    标签: c++ qt qgraphicsview qgraphicsitem qgraphicsscene


    【解决方案1】:

    通过 QT 文档查看可能的解决方案后,我已部分解决了该问题。

    调用this->scene() 允许访问添加对象的场景的成员函数。因为我知道我调用的对象的坐标,this->scene()->itemAt(240,0); 来检索指向该项目的指针。

    返回的指针是场景中提供的坐标处的最上面的项目。如果这产生了问题,请交替使用scene()->items() 来检索场景中所有项目的列表。

    但是,这只能访问 item 而不是存储该项目的向量。我一直在研究使用 ->parent() 函数并认为这可能是解决方案,并结合动态将其转换为所需的指针。如果我找到完整的解决方案,将更新答案。

    【讨论】:

      猜你喜欢
      • 2011-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-19
      • 1970-01-01
      • 2015-08-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多