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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: После scale виджета тормозит анимация  (Прочитано 2395 раз)
Jkc
Гость
« : Январь 16, 2011, 22:58 »

В окне несколько виджетов на них сцены и т.п.
При изменения размера окна с помощью scale масштабируем виджеты,
и после этого начинает тормозить анимация.
при том если размер изменить к исходному, тормоза не прекратятся.
Может кто подскажет в чем причина, может я вообще изначально по ложному пути пошел.
--
У меня в окне 4 виджета в каждом по сцене на сценах несколько
QGraphicsPixmapItem ,QGraphicsProxyWidget  и т.п.
Анимацию  делаю с помощью
 QStateMachine, QPropertyAnimation, QSignalTransition
в общем всё замечательно если бы не тормоза
Записан
ufna
Гость
« Ответ #1 : Январь 16, 2011, 23:00 »

А к исходному как возвращаешься?
Записан
Jkc
Гость
« Ответ #2 : Январь 16, 2011, 23:39 »

А к исходному как возвращаешься?

Может я не совсем понятно объяснил,
я уменьшаю окно , срабатывает scale в resizeEvent, всё уменьшилось и тормозит,
потом увеличиваю окно к максимальному размеру(исходному) , окно
стало таким как и до сжатия, но анимация продолжает тормозить.
---
Народ , неужели нет идей?
« Последнее редактирование: Январь 20, 2011, 11:54 от Jkc » Записан
Jkc
Гость
« Ответ #3 : Январь 21, 2011, 16:52 »

В общем пошел по этому пути

void MainWindow::resizeEvent(QResizeEvent* pe)
{
...
QSize resultSize( graphicsViewTop->width() ,  graphicsViewTop->heith() );  // новый размер
...
QPixmap pmScaled = openedPix.scaled(resultSize, Qt::KeepAspectRatio, Qt::FastTransformation ); //
 

идея взята , здесь http://www.prog.org.ru/topic_11044_0.html
за что спасибо, так как более удобней способа не нашлось
буду масштабировать каждую деталь отдельно Грустный   Непонимающий
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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