1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
QDialog *anim = new QDialog;
anim->setWindowTitle("OK");
anim->setFixedSize(800,600);
QLabel *diab = new QLabel();
//diab->move(330,500);
diab->setPixmap(QPixmap("images/diabolo.png"));
QParallelAnimationGroup* animationXY = new QParallelAnimationGroup;
QPropertyAnimation *animX = new QPropertyAnimation(diab, "pos"); //
animX->setDuration(1000);
//animX->setStartValue(QPoint(330, diab->y()));
animX->setKeyValueAt(0,QPoint(330, diab->y()));
animX->setKeyValueAt(0.5,QPoint(100, diab->y()));
animX->setKeyValueAt(1,QPoint(330, diab->y()));
//animX->setEndValue(QPoint(330, diab->y()));
animX->setLoopCount(-1);
animationXY->addAnimation(animX);
QPropertyAnimation *animY = new QPropertyAnimation(diab, "pos");
animY->setDuration(1000);
// animY->setStartValue(QPoint(diab->x(), 330));
animY->setKeyValueAt(0,QPoint(diab->x(), 330));
animY->setKeyValueAt(0.5,QPoint(diab->x(), 100));
animY->setKeyValueAt(1,QPoint(diab->x(), 330));
//animY->setEndValue(QPoint(diab->x(), 330));
animY->setEasingCurve(QEasingCurve::InOutSine);
animY->setLoopCount(-1);
animationXY->addAnimation(animY);
animationXY->start();
QVBoxLayout *layout = new QVBoxLayout();
layout->addWidget(diab);
anim->setLayout(layout);
anim->show(); |
Partager