Несколько QGraphicsViews с одной QGraphicsScene - PullRequest
2 голосов
/ 12 марта 2010

Я пытаюсь отобразить элементы на графической сцене в двух разных графических представлениях. Моя проблема в том, что я не хочу показывать все элементы графической сцены в обоих видах. Например, в моем приложении в представлении 1 я запустил редактор для пользователя, который будет рисовать некоторые элементы в одном представлении, а когда пользователь закончит редактирование, представление 2 отобразит вновь добавленный элемент.

Возможно ли это с одной графической сценой?

Сам

1 Ответ

2 голосов
/ 12 марта 2010

Насколько я знаю, встроенного метода для этого нет, но вы можете сделать это следующим образом:

Когда вы создаете свои элементы, присвойте этому элементу указатель виджета, на котором он будет виден (давайте назовем это фильтром). В методе item элемента paint () проверьте, является ли QWidget *, переданный в качестве параметра методу paint (), тем же виджетом, что и фильтр. Если они одинаковые, рисуйте нормально. Если их нет, ничего не красить. Это даст видимость элемента только в одном представлении.

Ловушка этого метода заключается в том, что элементы могут быть выбираемыми, перемещаемыми и т. Д. Во всех видах. Это только влияет на видимость на просмотр. (могут быть и другие проблемы, не могу сказать, не пытаясь)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...