Russian Qt Forum
Сентябрь 30, 2024, 08:29 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QGraphicsScene - куда-то пропали item  (Прочитано 3241 раз)
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/
Подскажите, что я не правильно сделал?
« Последнее редактирование: Октябрь 29, 2011, 02:02 от vasasol » Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #1 : Октябрь 29, 2011, 07:21 »

айтем может быть привязан только к 1й сцене. Работа с ними по указателю как бы намекает.
Записан
vasasol
Гость
« Ответ #2 : Октябрь 29, 2011, 15:21 »

айтем может быть привязан только к 1й сцене. Работа с ними по указателю как бы намекает.

А как задачу-то решить?
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #3 : Октябрь 30, 2011, 19:22 »

Руками клонировать айтемы. непонятно правда в чем задача - сцены by design созданы чтобы шарится между разными вьюхами.
Записан
iroln
Гость
« Ответ #4 : Октябрь 30, 2011, 20:30 »

А как задачу-то решить?
Если позарез необходимо иметь несколько сцен, то видимо придётся копировать элементы сцены и синхронизировать их между собой вручную с помощью сигналов-слотов. Если можно обойтись одной сценой, то использовать несколько представлений, работающих с этой сценой, но как показывает практика, это как-то не очень получается использовать и трудно добиться того, что требуется.
Записан
vasasol
Гость
« Ответ #5 : Октябрь 31, 2011, 11:15 »

Большое человеческое пасиб на указание направлений!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 22.