管理场景中的项目QT

时间:2015-06-05 21:35:11

标签: qt qgraphicsitem qgraphicsscene

我真的在泡菜中,我迫切需要帮助。我试图在QGraphicsScene子类中收集项的一些属性(QGraphicsitem子类的实例)。此代码在双击事件中精确地位于DiagramItem类中:

DiagramItem *cur;
QVector<QString> hal;
foreach(QGraphicsItem *item, this->scene()->items())
{
    cur = qgraphicsitem_cast<DiagramItem *>(item);
    hal.push_back(cur->getName());
}

现在它在我的场景中有一个项目时工作正常,但是一旦我添加另一个应用程序就崩溃了! 请帮忙!

1 个答案:

答案 0 :(得分:1)

你应该检查一下演员的结果:

cur = qgraphicsitem_cast<DiagramItem *>(item);
if ( cur )
{
    hal.push_back(cur->getName());
}

也许您的场景中还有其他项目无法投放到DiagramItem对象。