Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: OS2 от Март 12, 2010, 17:00



Название: Перестала работать анимация при переходе с 4.6.0 на 4.6.1
Отправлено: OS2 от Март 12, 2010, 17:00
Всем доброго времени суток!
Столкнулся с такой проблемой, при переходе с Qt 4.6.0 на Qt 4.6.1 (Вин ХР, МСВС2008):
На QGraphicsView находится сцена, с несколькими объектами типа QGraphicsLineItem, анимированные при помощи QGraphicsItemAnimation.
Класс Вида имеет следующие установленные свойства:

Код
C++ (Qt)
 setRenderHint( QPainter::Antialiasing, false );
 setOptimizationFlags( QGraphicsView::DontSavePainterState );
 setViewportUpdateMode(QGraphicsView::SmartViewportUpdate);
 setCacheMode( QGraphicsView::CacheBackground );

Объект вида сделан центральным виджетом на QMainWindow.
Все выше описанные объекты отлично работали до тех пор, пока я не перешел на Qt 4.6.1 После перехода объекты, которые были анимированными и благополучно, до этого, качались, вертелись и прочее, перестали обновляться (быть анимированными). Обновление (появляение анимации) у них происходит только если указатель мыши перемещается по поверхности QMainWindow. Во всех остальных случаях анимация отсутствует.
Что случись, что я сделал не так? Объяснити плиззз...


Название: Re: Перестала работать анимация при переходе с 4.6.0 на 4.6.1
Отправлено: pastor от Март 13, 2010, 01:47
Посмотри CHANGES для 4.6.1 может найдешь ответ на вопрос.


Название: Re: Перестала работать анимация при переходе с 4.6.0 на 4.6.1
Отправлено: OS2 от Март 14, 2010, 20:19
Чейнджи смотрел, но ничего, что могло бы оказать такой эффект не нашел....  :(
Бьюсь над этой проблемой уже несколько дней, что интересно, объекты, унаследованные от QGraphicsItem (не анимированные), теперь как-то странно получают уведомление update(), тоесть уведомление проходит и инициируется вызов метода paint(), но на виде (а может быть на сцене?) обновление этих объектов не происходит.  :o
Может быть анимированные объекты не могут корректно ужиться с другими объектами (которые я обновляю посредством моего таймера, методом update() и потом отрисовываю их через paint()) на сцене, и их области обновления подсерают где-то, друг другу?

ЗЫ: сейчас скачаю 4.7.0 и попробую под ней скомпилиться....  ::)


Название: Re: Перестала работать анимация при переходе с 4.6.0 на 4.6.1
Отправлено: OS2 от Март 15, 2010, 19:10
Хмм... под 4.7.0 все работает нормально, как и под 4.6.0  :-\
К чему бы это...?