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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QGraphicsScene/QGraphicsView "фильтр" item'ов  (Прочитано 3301 раз)
Alucard
Гость
« : Август 31, 2012, 23:16 »

Есть сцена (QGraphicsScene) и две вьюхи (QGraphicsView).
Есть ли возможность на одной из вьюх отображать лишь часть существующих элементов?
Например, одна вьюха - предпросмотр с элементами которые не нужно печатать, на второй соответственно только "печатаемые" элементы которые можно отправить на печать с пом. QGraphicsView::render().

Если невозможно, хотелось бы услышать предложения по реализации.
Спасибо.



Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Сентябрь 01, 2012, 12:41 »

Можно выставить тем элементам, которые не нужно отрисовывать флаг QGraphicsItem::ItemHasNoContents.
Но дело в том, что смена флага приводит к перерисовке сцены. Чтобы этого избежать нужно "заморозить" основные вью через
Код
C++ (Qt)
gv->viewport()->setUpdatesEnabled( false );
 
Записан

Qt 5.11/4.8.7 (X11/Win)
Alucard
Гость
« Ответ #2 : Сентябрь 01, 2012, 23:17 »

Установка этого флага приведет к тому, что на обоих вьюхах не будут отображаться эти элементы. Мне же необходимо, чтобы не отображались только на одной.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #3 : Сентябрь 02, 2012, 12:49 »

А что разве непонятно, что после отрисовки этот флаг сбрасывать нужно Непонимающий
Записан

Qt 5.11/4.8.7 (X11/Win)
Alucard
Гость
« Ответ #4 : Сентябрь 02, 2012, 22:25 »

Не очень нравится подобный вариант, но все равно, спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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