QStackedWidget 上的平滑动画

Posted

技术标签:

【中文标题】QStackedWidget 上的平滑动画【英文标题】:Smooth animation on QStackedWidget 【发布时间】:2011-02-07 07:20:42 【问题描述】:

我有五个 Qwidget(每个 QWidget 有不同的控件)。我将所有 QWidget 放入一个 Parent QStackedWidget。为了更改 Qwidget 的显示,我正在使用 setCurrentIndex(int) 函数。

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

我试过没有任何效果。所以我删除了 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 制作流畅的动画。请提出一些建议来实现流畅的动画。

【问题讨论】:

哪个平台?桌面?手机? 您的 CPU 使用率是否在动画期间飙升? 【参考方案1】:

尝试使用QGraphicsWidget。它可能会工作

【讨论】:

以上是关于QStackedWidget 上的平滑动画的主要内容,如果未能解决你的问题,请参考以下文章

Android动画下拉/向上视图正确

Android:如何确保软键盘平滑向上滑动

Delphi:滑动(动画)面板

Android_Scroller滑动动画

使 $(window).scroll() 上的 animate() 平滑

UILabel 的动画帧平滑