我有一个 dialog.cpp 文件,我在这里创建了使用QGraphicsScene
的{{1}}。
我创建了两个继承QGraphicsView
,QGraphicsPixmapItem
和"Vehicle"
的类。这两个对象都添加到我的 dialog.cpp 文件中的同一"Junction"
。
我想从我的QGraphicsScene
对象中调用一个"Junction"
成员的方法。该方法返回一个我需要的布尔值。
这更像是一个面向c ++的问题,因为我确信有一个简单的解决方案可以使用访问父母。
项目背景信息:每个"Vehicle"
沿着道路移动并接近"Vehicle"
。然后车辆必须询问交叉路口“我的车道是否有绿灯?”,交叉路口将回复"Junction"
。
答案 0 :(得分:0)
通过QT文档审查可能的解决方案后,我已部分解决了这个问题。
调用this->scene()
可以访问添加了对象的场景的成员函数。由于我知道我的对象的坐标,我调用this->scene()->itemAt(240,0);
来检索指向该项目的指针。
返回的指针是提供的坐标上场景中最上面的项目。如果这提供了问题,请交替使用scene()->items()
来检索场景中所有项目的列表。
但是,这只能访问项,而不能访问存储项目的向量。我一直在研究使用->parent()
函数,并认为这可能是解决方案,并将其动态地转换为所需的指针。如果我找到完整的解决方案,将更新答案。