Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: vasasol от Октябрь 29, 2011, 01:58



Название: 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
Большое человеческое пасиб на указание направлений!