【转】Qt动画组的简单使用

来源:互联网 发布:软件工程和软件危机 编辑:程序博客网 时间:2024/06/05 04:00

转自:http://blog.sina.com.cn/s/blog_6cf525b10100o4ew.html

#include <QtGui/QApplication>

#include "widget.h"
#include <QLabel>
#include <QPropertyAnimation>
#include <QtDebug>
#include <QtGui>
#include <QObject>
int main(int argc, char *argv[])
{ 
    QApplication a(argc, argv);
    widget w;
    w.resize(300,400);
   QPixmap birding = QPixmap(QString::fromUtf8(":/butterfly2.PNG")).scaled(40,40);
   QLabel *bird_1 = new QLabel(&w);
    bird_1->setPixmap(birding);
    QPropertyAnimation *anim1 = new QPropertyAnimation(bird_1,"pos");
    anim1->setDuration(2000);
    anim1->setStartValue(QPoint(0,360));
    anim1->setEndValue(QPoint(110,180));
    anim1->setEasingCurve(QEasingCurve::OutBounce);
//   // anim1->start();
//    bird_1->move(-40,-40);
    QLabel *bird_2 = new QLabel(&w);
    bird_2->setPixmap(QPixmap(":/butterfly1.PNG").scaled(40,40));
    QPropertyAnimation *anim2 = new QPropertyAnimation(bird_2,"pos");
    anim2->setDuration(2000);
    anim2->setStartValue(QPoint(0,0));
    anim2->setEndValue(QPoint(150,180));
    anim2->setEasingCurve(QEasingCurve::OutBounce);
//    QSequentialAnimationGroup group;//串行动画组
    QParallelAnimationGroup group;//并行动画组
    group.addAnimation(anim1);
    group.addAnimation(anim2);
    group.start();
    w.show();
    return a.exec();
}

0 0
原创粉丝点击