QGraphicsItemAnimationLa 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éritageHérite de QObject. Cette classe a été introduite dans Qt 4.2. Description détailléeLa 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 membresQGraphicsItemAnimation::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 ) constRetourne l'échelle horizontale de l'élément à l'étape step spécifiée. Voir aussi setScaleAt(). qreal QGraphicsItemAnimation::horizontalShearAt ( qreal step ) constRetourne le cisaillement horizontal de l'élément à l'étape step spécifiée. Voir aussi setShearAt(). QGraphicsItem * QGraphicsItemAnimation::item () constRetourne l'élément sur lequel l'animation agit. Voir aussi setItem(). QMatrix QGraphicsItemAnimation::matrixAt ( qreal step ) constRetourne la matrice utilisée pour transformer l'élément à l'étape spécifiée par step. QPointF QGraphicsItemAnimation::posAt ( qreal step ) constRetourne la position de l'élément à l'étape step. Voir aussi setPosAt(). QList<QPair<qreal, QPointF> > QGraphicsItemAnimation::posList () constRetourne toutes les positions explicitement insérées. Voir aussi posAt() et setPosAt(). qreal QGraphicsItemAnimation::rotationAt ( qreal step ) constRetourne l'angle de rotation de l'élément à l'étape step. Voir aussi setRotationAt(). QList<QPair<qreal, qreal> > QGraphicsItemAnimation::rotationList () constRetourne toutes les rotations explicitement insérées. Voir aussi rotationAt() and setRotationAt(). QList<QPair<qreal, QPointF> > QGraphicsItemAnimation::scaleList () constRetourne 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 () constRetourne tous les cisaillements explicitement insérés. Voir aussi verticalShearAt(), horizontalShearAt() et setShearAt(). QTimeLine * QGraphicsItemAnimation::timeLine () constRetourne l'objet de chronologie utilisé pour contrôler le rythme de l'animation. Voir aussi setTimeLine(). QList<QPair<qreal, QPointF> > QGraphicsItemAnimation::translationList () constRetourne toutes les translations explicitement insérées. Voir aussi xTranslationAt(), yTranslationAt() et setTranslationAt(). qreal QGraphicsItemAnimation::verticalScaleAt ( qreal step ) constRetourne la mise à l'échelle verticale appliquée sur l'élément spécifié à l'étape step. Voir aussi setScaleAt(). qreal QGraphicsItemAnimation::verticalShearAt ( qreal step ) constRetourne le cisaillement vertical appliqué sur l'élément spécifié à l'étape step. Voir aussi setShearAt(). qreal QGraphicsItemAnimation::xTranslationAt ( qreal step ) constRetourne la translation horizontale appliquée sur l'élément spécifié à l'étape step. Voir aussi setTranslationAt(). qreal QGraphicsItemAnimation::yTranslationAt ( qreal step ) constRetourne la translation verticale appliquée sur l'élément spécifié à l'étape step. Voir aussi setTranslationAt(). RemerciementsMerci à Dimitry Ernot pour la traduction ainsi qu'à Jonathan Courtois et Claude Leloup pour leur relecture ! |
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 © 2024 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 ! |