2011-02-07 295 views
2

我有五个Qwidgets(每个QWidget有不同的控件)。我把所有QWidget放入一个Parent QStackedWidget中。用于更改Qwidget的显示我正在使用setCurrentIndex(int)函数。QStackedWidget上的平滑动画

显示没有问题。但我需要在更改页面时放置动画。

我什么也没试过。所以我删除了QStackedWidget,我直接把QWidget和我用QPropertyAnimation尝试。

这QPropertyAnimation工作,但它不是流畅的动画。在这里我的代码为QPropertyAnimation。

QRect pGeo(8,152,width()-16,height()-160); 
profilePage->show(); //first QWidget 
QPropertyAnimation *anim1= new QPropertyAnimation(profilePage, "geometry"); 
anim1->setStartValue(QRect(200,pGeo.y(),pGeo.width(),pGeo.height())); 
anim1->setEndValue(pGeo); 
anim1->setEasingCurve(QEasingCurve::InOutSine); 
anim1->setDuration(500); 
anim1->start(); 

如何使用QWidget或QStackedWidget进行平滑动画。请给出一些建议,以实施流畅的动画。

+0

哪个平台?桌面?移动? – Virne 2011-02-07 11:03:41

回答

0

尝试放置在QGraphicsWidget。它可能工作