Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

QGraphicsItemAnimation

La classe QGraphicsItemAnimation fournit un support d'animation simple pour QGraphicsItem. Plus d'informations...

#include <QGraphicsItemAnimation>

Voir la position dans l'arbre des classes.

Cette classe est dépréciée.

Héritage

Hérite de QObject.

Cette classe a été introduite dans Qt 4.2.

Description détaillée

La classe QGraphicsItemAnimation fournit un support d'animation simple pour QGraphicsItem.

La classe QGraphicsItemAnimation anime un QGraphicsItem. Vous pouvez planifier les changements de la matrice de transformation de l'élément aux étapes que vous aurez spécifiées. La classe QGraphicsItemAnimation possède une valeur d'étape courante. Lorsque cette valeur change, les transformations planifiées à cette étape sont effectuées. L'étape actuelle de l'animation est fixée avec la fonction setStep().

QGraphicsItemAnimation fera une simple interpolation linéaire entre les deux plus proches changements planifiés pour calculer la matrice. Par exemple, si vous fixez la position d'un élément aux valeurs 0.0 et 1.0, l'animation montrera l'élément se déplaçant sur une ligne droite entre ces positions. Il en va de même pour le changement d'échelle et la rotation.

Il est courant d'utiliser cette classe avec QTimeLine. Le signal valueChanged() de QTimeLine est alors connecté au slot setStep(). Par exemple, vous pouvez faire tourner un élément en appelant setRotationAt() à différentes étapes. La chronologie des animations est fixée avec la fonction setTimeLine().

Ci-dessous, un exemple d'animation avec une chronologie :

     QGraphicsItem *ball = new QGraphicsEllipseItem(0, 0, 20, 20);
 
     QTimeLine *timer = new QTimeLine(5000);
     timer->setFrameRange(0, 100);
 
     QGraphicsItemAnimation *animation = new QGraphicsItemAnimation;
     animation->setItem(ball);
     animation->setTimeLine(timer);
 
     for (int i = 0; i < 200; ++i)
         animation->setPosAt(i / 200.0, QPointF(i, i));
 
     QGraphicsScene *scene = new QGraphicsScene();
     scene->setSceneRect(0, 0, 250, 250);
     scene->addItem(ball);
 
     QGraphicsView *view = new QGraphicsView(scene);
     view->show();
 
     timer->start();

Notez que les étapes se situent entre 0,0 et 1,0. Il peut être nécessaire d'utiliser setUpdateInterval (). L'intervalle de mise à jour par défaut est 40 ms. Une transformation planifiée ne peut pas être enlevée lorsqu'elle est définie. Donc ordonnancer plusieurs transformations du même genre (par exemple, les rotations) à la même étape n'est pas recommandé.

Voir aussi QTimeLine et le framework de la Vue Graphique.

Fonctions membres

QGraphicsItemAnimation::QGraphicsItemAnimation ( QObject * parent = 0 )

Construit un objet d'animation avec le parent donné en paramètre.

QGraphicsItemAnimation::~QGraphicsItemAnimation () [virtual]

Détruit l'objet d'animation.

void QGraphicsItemAnimation::afterAnimationStep ( qreal step ) [virtual protected]

Cette méthode est destinée à être redéfinie dans les sous-classes qui ont besoin d'exécuter un code supplémentaire après chaque passage à une nouvelle étape. L'animation step est fournie pour le cas où l'action dépend de sa valeur.

void QGraphicsItemAnimation::beforeAnimationStep ( qreal step ) [virtual protected]

Cette méthode est destinée à être redéfinie dans les sous-classes qui ont besoin d'exécuter un code supplémentaire avant chaque passage à une nouvelle étape. L'animation step est fournie pour le cas où l'action dépend de sa valeur.

void QGraphicsItemAnimation::clear ()

Supprime les transformations planifiées utilisées pour l'animation, mais conserve l'élément et la chronologie.

qreal QGraphicsItemAnimation::horizontalScaleAt ( qreal step ) const

Retourne l'échelle horizontale de l'élément à l'étape step spécifiée.

Voir aussi setScaleAt().

qreal QGraphicsItemAnimation::horizontalShearAt ( qreal step ) const

Retourne le cisaillement horizontal de l'élément à l'étape step spécifiée.

Voir aussi setShearAt().

QGraphicsItem * QGraphicsItemAnimation::item () const

Retourne l'élément sur lequel l'animation agit.

Voir aussi setItem().

QMatrix QGraphicsItemAnimation::matrixAt ( qreal step ) const

Retourne la matrice utilisée pour transformer l'élément à l'étape spécifiée par step.

QPointF QGraphicsItemAnimation::posAt ( qreal step ) const

Retourne la position de l'élément à l'étape step.

Voir aussi setPosAt().

QList<QPair<qreal, QPointF> > QGraphicsItemAnimation::posList () const

Retourne toutes les positions explicitement insérées.

Voir aussi posAt() et setPosAt().

qreal QGraphicsItemAnimation::rotationAt ( qreal step ) const

Retourne l'angle de rotation de l'élément à l'étape step.

Voir aussi setRotationAt().

QList<QPair<qreal, qreal> > QGraphicsItemAnimation::rotationList () const

Retourne toutes les rotations explicitement insérées.

Voir aussi rotationAt() and setRotationAt().

QList<QPair<qreal, QPointF> > QGraphicsItemAnimation::scaleList () const

Retourne toutes les mises à l'échelle explicitement insérées.

Voir aussi verticalScaleAt(), horizontalScaleAt() et setScaleAt().

void QGraphicsItemAnimation::setItem ( QGraphicsItem * item )

Spécifie l'élément item à utiliser dans l'animation.

Voir aussi item().

void QGraphicsItemAnimation::setPosAt ( qreal step, const QPointF & point )

Spécifie la position de l'élément pour l'étape step au point point.

Voir aussi posAt().

void QGraphicsItemAnimation::setRotationAt ( qreal step, qreal angle )

Spécifie la rotation d'un angle de angle de l'élément à l'étape step.

Voir aussi rotationAt().

void QGraphicsItemAnimation::setScaleAt ( qreal step, qreal sx, qreal sy )

Spécifie la mise à l'échelle de l'élément à l'étape step en utilisant le facteur d'échelle horizontale sx et le facteur d'échelle verticals sy.

Voir aussi verticalScaleAt() et horizontalScaleAt().

void QGraphicsItemAnimation::setShearAt ( qreal step, qreal sh, qreal sv )

Spécifie le cisaillement de l'élément à l'étape step en utilisant le facteur de cisaillement horizontal sh et le facteur vertical sv.

Voir aussi verticalShearAt() et horizontalShearAt().

void QGraphicsItemAnimation::setStep ( qreal step ) [slot]

Spécifie l'étape step pour l'animation, impliquant les transformations prévues à l'exécution de cette étape.

void QGraphicsItemAnimation::setTimeLine ( QTimeLine * timeLine )

Spécifie l'objet de chronologie timeLine utilisé pour contrôler le rythme de l'animation.

Voir aussi timeLine().

void QGraphicsItemAnimation::setTranslationAt ( qreal step, qreal dx, qreal dy )

Spécifie la translation de l'élément à l'étape step en utilisant les coordonnées horizontale et verticale dx et dy.

Voir aussi xTranslationAt() et yTranslationAt().

QList<QPair<qreal, QPointF> > QGraphicsItemAnimation::shearList () const

Retourne tous les cisaillements explicitement insérés.

Voir aussi verticalShearAt(), horizontalShearAt() et setShearAt().

QTimeLine * QGraphicsItemAnimation::timeLine () const

Retourne l'objet de chronologie utilisé pour contrôler le rythme de l'animation.

Voir aussi setTimeLine().

QList<QPair<qreal, QPointF> > QGraphicsItemAnimation::translationList () const

Retourne toutes les translations explicitement insérées.

Voir aussi xTranslationAt(), yTranslationAt() et setTranslationAt().

qreal QGraphicsItemAnimation::verticalScaleAt ( qreal step ) const

Retourne la mise à l'échelle verticale appliquée sur l'élément spécifié à l'étape step.

Voir aussi setScaleAt().

qreal QGraphicsItemAnimation::verticalShearAt ( qreal step ) const

Retourne le cisaillement vertical appliqué sur l'élément spécifié à l'étape step.

Voir aussi setShearAt().

qreal QGraphicsItemAnimation::xTranslationAt ( qreal step ) const

Retourne la translation horizontale appliquée sur l'élément spécifié à l'étape step.

Voir aussi setTranslationAt().

qreal QGraphicsItemAnimation::yTranslationAt ( qreal step ) const

Retourne la translation verticale appliquée sur l'élément spécifié à l'étape step.

Voir aussi setTranslationAt().

Remerciements

Merci à Dimitry Ernot pour la traduction ainsi qu'à Jonathan Courtois et Claude Leloup pour leur relecture !

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année
  1. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 44
  2. Microsoft ouvre aux autres compilateurs C++ AMP, la spécification pour la conception d'applications parallèles C++ utilisant le GPU 22
  3. Les développeurs ignorent-ils trop les failles découvertes dans leur code ? Prenez-vous en compte les remarques des autres ? 17
  4. RIM : « 13 % des développeurs ont gagné plus de 100 000 $ sur l'AppWord », Qt et open-source au menu du BlackBerry DevCon Europe 0
  5. BlackBerry 10 : premières images du prochain OS de RIM qui devrait intégrer des widgets et des tuiles inspirées de Windows Phone 0
  6. Quelles nouveautés de C++11 Visual C++ doit-il rapidement intégrer ? Donnez-nous votre avis 10
  7. Adieu qmake, bienvenue qbs : Qt Building Suite, un outil déclaratif et extensible pour la compilation de projets Qt 17
Page suivante

Le Qt Quarterly au hasard

Logo

Les développeurs viennent de Mars, les designers de Vénus

Qt Quarterly est la revue trimestrielle proposée par Nokia et à destination des développeurs Qt. Ces articles d'une grande qualité technique sont rédigés par des experts Qt. Lire l'article.

Communauté

Ressources

Liens utiles

Contact

  • Vous souhaitez rejoindre la rédaction ou proposer un tutoriel, une traduction, une question... ? Postez dans le forum Contribuez ou contactez-nous par MP ou par email (voir en bas de page).

Qt dans le magazine

Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt 4.7
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !
 
 
 
 
Partenaires

Hébergement Web