C++ QGraphicscene::addItem:项已添加到此场景
我试图向QGraphicscene添加几个项目,但在调用C++ QGraphicscene::addItem:项已添加到此场景,c++,qt,qgraphicsscene,C++,Qt,Qgraphicsscene,我试图向QGraphicscene添加几个项目,但在调用scene->addItem(newbonus(Bonus::BonusType::coin,randPoint,pixels,parent))之后在应用程序输出中显示以下消息:qgraphicscene::addItem:项目已添加到此场景我做错了什么? 代码: for(int i = 0; i < coinsCount; ) { QPoint randPoint(random() % g->getWidth(),
scene->addItem(newbonus(Bonus::BonusType::coin,randPoint,pixels,parent))之后代码>在应用程序输出中显示以下消息:qgraphicscene::addItem:项目已添加到此场景
我做错了什么?
代码:
for(int i = 0; i < coinsCount; ) {
QPoint randPoint(random() % g->getWidth(),
random() % g->getHeight());
if(g->getType(randPoint) != Graph::wall && !usedPoints.contains(randPoint)) {
scene->addItem(new Bonus(Bonus::BonusType::coin, randPoint, pixels, parent));
usedPoints.push_back(randPoint);
i++;
}
}
for(int i=0;igetWidth(),
随机()%g->getHeight());
if(g->getType(randPoint)!=Graph::wall&&!usedPoints.contains(randPoint)){
场景->添加项(新奖金(奖金::BonuType::硬币、蓝点、像素、父项));
使用点。推回(随机点);
i++;
}
}
您正在传递父项。如果父项已添加到场景中,则将其设置为新项的父项也会将后者添加到场景中
构造函数在addItem()
之前运行,因此在执行后者时,该项已在场景中
请注意,这会将此图形项隐式添加到场景中
父母亲您不应该自己将项目添加到场景中