Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Greenvich от Июнь 06, 2012, 11:13



Название: 1 QGraphicsScene и 2 QGraphicsView
Отправлено: Greenvich от Июнь 06, 2012, 11:13
Добрый  день!

Есть сцена. На ней присутствуют несколько item'ов(пока 3 штуки). Создал 2 view для использования одного, как мини карту(minimap), а другого - полноценную(map).

Задача: Необходимо обозначить границы отображения полноценной карты, на мини карте.

Решение: Добавить квадрат и передавать в него координаты углов из map, переведенных в систему координат сцены:

Код
C++ (Qt)
QRect rectView = map->viewport()->geometry();
QPolygonF poly = map->mapToScene(rectView);
 
map->scene()->addPolygon(poly, QPen(QColor(153, 218, 255)));
 

Вопрос: Как убрать отображение "poly" на полноценной карте. Т.е. на одном view показывать все элементы, на другом только некоторые.

P.S. решение нужно именно в таком виде, потому как далее на полноценной карте будет, например, 20 item'ов, а на мини -  3-5.

Заранее благодарен!


Название: Re: 1 QGraphicsScene и 2 QGraphicsView
Отправлено: GreatSnake от Июнь 06, 2012, 11:41
Вопрос: Как убрать отображение "poly" на полноценной карте.
Рамку на 2-м вью можно отрисовывать в его перегруженном QGraphicsView::drawForeground().

Цитировать
P.S. решение нужно именно в таком виде, потому как далее на полноценной карте будет, например, 20 item'ов, а на мини -  3-5.
Со сценой обычно так не работают. Чтобы получить такое не простое решение придётся много чего перегружать.


Название: Re: 1 QGraphicsScene и 2 QGraphicsView
Отправлено: Greenvich от Июнь 06, 2012, 11:47
Со сценой обычно так не работают. Чтобы получить такое не простое решение придётся много чего перегружать.

Тогда может быть, делать 2 сцены? Одну для мини карты, другу для полноценной?


Название: Re: 1 QGraphicsScene и 2 QGraphicsView
Отправлено: iroln от Июнь 06, 2012, 13:18
У себя в проекте я сделал две сцены. Но возникает другая проблема - синхронизация объектов между двумя сценами. Я на это дело вообще забил, то есть на Overview (миникарта) у меня вообще графиеские объекты не показываются). А так давно уже всем известно, что архитектура: 1 сцена - N видов не работает. :)


Название: Re: 1 QGraphicsScene и 2 QGraphicsView
Отправлено: Greenvich от Июнь 06, 2012, 14:08
Спасибо за ответы. Сделал 2 сцены и 2 вида. Думаю поможет. Пока нормально отрабатывает, но это еще каркас  :)