Déplacement d'image : dissocier les axes X et Y
Bonjour,
J'utilise Qt depuis peu et je sèche sur un problème (jusqu'à présent j'ai pu m'en sortir grâce à la doc vraiment bien faite). Je n'arrive pas à utiliser setEasingCurve comme je le voudrais et à vrai dire, je ne sais même pas si c'est cette fonction qu'il me faut.
Mon problème :
Je cherche à déplacer une image (que j'ai collé dans un QLabel).
La vitesse de déplacement sur l'axe x doit être constante tandis que celle sur l'axe y doit être variable.
Ici, le "setEasingCurve(QEasingCurve::InOutSine);" applique une variation de vitesse identique sur les deux axes. Je n'arrive pas à dissocier les deux axes.
Voilà le bout de code concerné :
Code:
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
| QDialog *anim = new QDialog;
anim->setWindowTitle("OK");
anim->setFixedSize(800,600);
QLabel *diab = new QLabel();
diab->setPixmap(QPixmap("images/diabolo.png"));
QPropertyAnimation *animation = new QPropertyAnimation(diab, "geometry");
animation->setDuration(3000);
// trajet en l'air
animation->setKeyValueAt(0,QRect(330, 350, 67, 67));
animation->setKeyValueAt(0.5,QRect(250, 50, 67, 67));
animation->setKeyValueAt(1,QRect(170, 350, 67, 67));
animation->setEasingCurve(QEasingCurve::InOutSine);
animation->setLoopCount(-1);
animation->start();
QVBoxLayout *layout = new QVBoxLayout();
layout->addWidget(diab);
anim->setLayout(layout);
anim->show(); |
Si quelqu'un a une idée. Là, je ne vois vraiment pas...
Merci d'avance