Russian Qt Forum

Qt => Общие вопросы => Тема начата: demaker от Апрель 28, 2016, 12:47



Название: QGraphicsScene::items() ; QGraphicsScene::removeItem(QGraphicsItem *)
Отправлено: demaker от Апрель 28, 2016, 12:47
Убираю item - ы со сцены, но почему-то он удаляет не все
Код
C++ (Qt)
qDebug()<<"size"<<graphicsScene->items().size;
for(int i = 0; i<graphicsScene->items().size; i++){
   qDebug()<<"remove"
   graphicsScene->removeItem(graphicsScene->items().at(i));
}
 

В дебаг количество size выводится правильно, а итемы удаляются не все ???


Название: Re: QGraphicsScene::items() ; QGraphicsScene::removeItem(QGraphicsItem *)
Отправлено: demaker от Апрель 28, 2016, 12:59
Сорри глупый вопрос ;D

Просто очень спешу ::)


Название: Re: QGraphicsScene::items() ; QGraphicsScene::removeItem(QGraphicsItem *)
Отправлено: Igors от Апрель 28, 2016, 13:46
Код
C++ (Qt)
for (int i = graphicsScene->items().size() - 1;  i >= 0; --i) {
..
}


Название: Re: QGraphicsScene::items() ; QGraphicsScene::removeItem(QGraphicsItem *)
Отправлено: demaker от Май 06, 2016, 10:30
Еще вопрос по QGraphicsScene.
Скажите а как сделать, чтобы на сцене координаты левого верхнего угла были (0,0)?
А то у меня получается что центр сцены с этими координатами.


Название: Re: QGraphicsScene::items() ; QGraphicsScene::removeItem(QGraphicsItem *)
Отправлено: gil9red от Май 06, 2016, 11:26
Еще вопрос по QGraphicsScene.
Скажите а как сделать, чтобы на сцене координаты левого верхнего угла были (0,0)?
А то у меня получается что центр сцены с этими координатами.

setSceneRect(0, 0, width, height)


Название: Re: QGraphicsScene::items() ; QGraphicsScene::removeItem(QGraphicsItem *)
Отправлено: demaker от Май 06, 2016, 11:41
Спсб