crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

RazrFalcon
  опции профиля:
сообщение 15.9.2011, 16:59
Сообщение #1


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Есть: 2-а QGraphicsView и 2-а наследника QGraphicsScene, GraphicsScene.
Наследник сделан для того, что бы предопределить drawBackground()

Создание:
  scene = new GraphicsScene();
  graphicsView->setScene(scene);

  scene2 = new GraphicsScene();
  graphicsView_2->setScene(scene2);

Затем для каждой сцены вызывается начало рисования графика.
Проблема в том, что график рисуется только на первой сцене. Хотя фоновая сетка есть у обоих.

Что бы начало рисовать на второй сцене, а точнее вьюевере - нужно закоментировать:
  graphicsView->setScene(scene);

Судя по дебагу, графики рисуются и на обеих сценах, но не отображаются только на первом вьюевере.
Как решить эту багу? Может кто то сталкивался.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
ssoft
  опции профиля:
сообщение 19.9.2011, 9:58
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 130
Регистрация: 17.2.2010
Из: Москва
Пользователь №: 1470

Спасибо сказали: 30 раз(а)




Репутация:   3  


Бага в том, что используется глобальный массив для GraphicsItem.
GraphicsItem может принадлежать только одной сцене.

Если сделать глобальные переменные членами класса, то все работает замечательно.


Прикрепленные файлы
Прикрепленный файл  example.zip ( 4.95 килобайт ) Кол-во скачиваний: 121
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 23.7.2025, 2:39