Как да анимирате скриване/показване на джаджа QVBoxLayout

Имам това хоризонтално оформление на QWidget подклас, използвайки QHBoxLayout: Оформление

Бих искал горната джаджа да се скрие/покаже в плъзгаща се анимация. Прочетох тази статия и знам, че трябва да използвам QPropertyAnimation. Честно казано, не се появи добър резултат от Google.

Някакво предложение за примерен код или може би връзка към статия?


person swdev    schedule 08.06.2014    source източник


Отговори (1)


Можете да промените свойството maximumHeight на горната джаджа в анимация.

За скриване на горната джаджа:

QPropertyAnimation *animation = new QPropertyAnimation(ui->topWidget, "maximumHeight");
animation->setDuration(1000);
animation->setStartValue(500);
animation->setEndValue(0);

animation->start();

за показване на горната джаджа:

QPropertyAnimation *animation = new QPropertyAnimation(ui->topWidget, "maximumHeight");
animation->setDuration(1000);
animation->setStartValue(0);
animation->setEndValue(500);

animation->start();
person Nejat    schedule 08.06.2014
comment
Хм... Мисля, че сега разбирам как работи QPropertyAnimation.. Ще проверя това утре сутрин и ще докладвам тук. Но мисля, че е добре да маркирате това като отговорено - person swdev; 08.06.2014
comment
Струва си да се отбележи, че горният код е c++ код, а не код на Python (въпросът е маркиран с pyqt) - person three_pineapples; 09.06.2014