管理场景中的项目 QT
Managing items in a scene QT
我真的很困难,我迫切需要帮助。我正在尝试在 QGraphicsScene subclass 中收集项目的一些属性(QGraphicsitem subclass 的实例)。此代码在 DiagramItem class 中,正好在双击事件中:
DiagramItem *cur;
QVector<QString> hal;
foreach(QGraphicsItem *item, this->scene()->items())
{
cur = qgraphicsitem_cast<DiagramItem *>(item);
hal.push_back(cur->getName());
}
现在当我的场景中有一个项目时它工作正常,但是一旦我添加另一个项目应用程序就会崩溃!
请帮忙!
你应该检查演员表的结果:
cur = qgraphicsitem_cast<DiagramItem *>(item);
if ( cur )
{
hal.push_back(cur->getName());
}
可能您的场景中还有其他项目无法投射到 DiagramItem
对象。
我真的很困难,我迫切需要帮助。我正在尝试在 QGraphicsScene subclass 中收集项目的一些属性(QGraphicsitem subclass 的实例)。此代码在 DiagramItem class 中,正好在双击事件中:
DiagramItem *cur;
QVector<QString> hal;
foreach(QGraphicsItem *item, this->scene()->items())
{
cur = qgraphicsitem_cast<DiagramItem *>(item);
hal.push_back(cur->getName());
}
现在当我的场景中有一个项目时它工作正常,但是一旦我添加另一个项目应用程序就会崩溃! 请帮忙!
你应该检查演员表的结果:
cur = qgraphicsitem_cast<DiagramItem *>(item);
if ( cur )
{
hal.push_back(cur->getName());
}
可能您的场景中还有其他项目无法投射到 DiagramItem
对象。