Название: QGraphicsScene - куда-то пропали item Отправлено: vasasol от Октябрь 29, 2011, 01:58 Здравствуйте!
Вот есть некий обьект к которому добавляютя сцены, скажем myOb.append(scene). Потом что-то с этим обьектом делается. Этот обьект нормально работает, к нему нет претензий. Возникла задача к этому обьекту добавить несколько одинаковых сцен из числа некоторых ранее добавленных. Пусть sceneN - ранее добавленная и которую надо 4 раза "клонировать" и к "клонам" добавить еще item. Сделал так: QGraphicsPixmapItem* p; QList<QGraphicsItem *> m_list = sceneN->items(); for (int i = 0; i < 4; ++i) { // желание добавить 4 "клона" QGraphicsScene* scene2 = new QGraphicsScene(); for (int j = 0; j < m_list.count(); ++j) { scene2->addItem(m_list.at(j)); //вроде тут как-бы "клонировались" из sceneN } PN = new QGraphicsPixmapItem(0,scene2); // это хочется добавить к "клону" QPixmap pm = QPixmap(............. // тут всякий изврат того что хочется добавить ............................... myOb.append(scene2); // тут добаляем и хочется что б все получилось } Получаем что в myOb появились 4 новых сцены на 3-x из которых имеется только извращенный PN (с картинкой pm) а "клоны" из sceneN куда-то пропали а на последней 4-й все так как и задумывалось - есть и "клоны" есть и добавленный PN/ Подскажите, что я не правильно сделал? Название: Re: QGraphicsScene - куда-то пропали item Отправлено: Авварон от Октябрь 29, 2011, 07:21 айтем может быть привязан только к 1й сцене. Работа с ними по указателю как бы намекает.
Название: Re: QGraphicsScene - куда-то пропали item Отправлено: vasasol от Октябрь 29, 2011, 15:21 айтем может быть привязан только к 1й сцене. Работа с ними по указателю как бы намекает. А как задачу-то решить? Название: Re: QGraphicsScene - куда-то пропали item Отправлено: Авварон от Октябрь 30, 2011, 19:22 Руками клонировать айтемы. непонятно правда в чем задача - сцены by design созданы чтобы шарится между разными вьюхами.
Название: Re: QGraphicsScene - куда-то пропали item Отправлено: iroln от Октябрь 30, 2011, 20:30 А как задачу-то решить? Если позарез необходимо иметь несколько сцен, то видимо придётся копировать элементы сцены и синхронизировать их между собой вручную с помощью сигналов-слотов. Если можно обойтись одной сценой, то использовать несколько представлений, работающих с этой сценой, но как показывает практика, это как-то не очень получается использовать и трудно добиться того, что требуется.Название: Re: QGraphicsScene - куда-то пропали item Отправлено: vasasol от Октябрь 31, 2011, 11:15 Большое человеческое пасиб на указание направлений!
|