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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Перестала работать анимация при переходе с 4.6.0 на 4.6.1  (Прочитано 3262 раз)
OS2
Самовар
**
Offline Offline

Сообщений: 186



Просмотр профиля WWW
« : Март 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. Во всех остальных случаях анимация отсутствует.
Что случись, что я сделал не так? Объяснити плиззз...
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #1 : Март 13, 2010, 01:47 »

Посмотри CHANGES для 4.6.1 может найдешь ответ на вопрос.
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
OS2
Самовар
**
Offline Offline

Сообщений: 186



Просмотр профиля WWW
« Ответ #2 : Март 14, 2010, 20:19 »

Чейнджи смотрел, но ничего, что могло бы оказать такой эффект не нашел....  Грустный
Бьюсь над этой проблемой уже несколько дней, что интересно, объекты, унаследованные от QGraphicsItem (не анимированные), теперь как-то странно получают уведомление update(), тоесть уведомление проходит и инициируется вызов метода paint(), но на виде (а может быть на сцене?) обновление этих объектов не происходит.  Шокированный
Может быть анимированные объекты не могут корректно ужиться с другими объектами (которые я обновляю посредством моего таймера, методом update() и потом отрисовываю их через paint()) на сцене, и их области обновления подсерают где-то, друг другу?

ЗЫ: сейчас скачаю 4.7.0 и попробую под ней скомпилиться....  Строит глазки
Записан
OS2
Самовар
**
Offline Offline

Сообщений: 186



Просмотр профиля WWW
« Ответ #3 : Март 15, 2010, 19:10 »

Хмм... под 4.7.0 все работает нормально, как и под 4.6.0  В замешательстве
К чему бы это...?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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