Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Система рисования. Печать _ QGraphicsView

Автор: wiz29 7.12.2010, 17:46

Доброго времени суток. Не сталкивался ли кто нибудь из вас со следующей проблемой. У меня есть QGraphicsView с установленной сценой. Есть объект QObject, который установлен в качестве eventFilter для QGraphicsScene. Проблема закл в следующем: если меняю параметры позиции QGraphicsItems в функции eventFilter то отображение в QGraphicsView корректное, когда начинаю менять, например, цвет пера для QGraphicsShapeItem вместе с позицией то получаю следующий эффект http://s61.radikal.ru/i174/1012/73/4eba2cb95a0a.jpg. Если ктото сталкивался с подобным эффектом, плиз подскажите что я делаю не так:)

Автор: wiz29 7.12.2010, 18:30

Определил, на данный эффект влияет вызов QPixmap::grabWidget для содержащего данную сцену QGraphicsView . как избавится пока не знаю...:(

Цитата(wiz29 @ 7.12.2010, 18:17) *
Определил, на данный эффект влияет вызов QPixmap::grabWidget для содержащего данную сцену QGraphicsView . как избавится пока не знаю...:(

разобрался в проблеме , темуможно удалить.

Автор: Litkevich Yuriy 7.12.2010, 19:39

Цитата(wiz29 @ 7.12.2010, 20:30) *
разобрался в проблеме
поделись

Автор: wiz29 8.12.2010, 13:19

Цитата(Litkevich Yuriy @ 7.12.2010, 19:39) *
Цитата(wiz29 @ 7.12.2010, 20:30) *
разобрался в проблеме
поделись

Вот что удалось выяснить.
Если последовательность действий в eventFilter такая то все работает корректно:
1. grabWidget
2. для QGraphicsItem -> setPos(x,y);
тогда все работает корректно
если же поменять пункты 1и 2 местами то появляется тот эффект, про который я говорил в 1м посте. Думаю все дело в grabWidget.
! все эти действия выполняются в эвент фильтре, это особенность. Возможно, при другом раскладе все будет работать корректно.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)