QVariantAnimationLa classe QVariantAnimation fournit une classe de base abstraite pour les animations. Plus d'informations... #include <QVariantAnimation> Voir la position dans l'arbre des classes. HéritageHérite de QAbstractAnimation. Hérité par QPropertyAnimation. Description détailléeLa classe QVariantAnimation fournit une classe de base abstraite pour les animations. Cette classe fait partie du framework animation. Elle sert de classe de base pour les propriétés et les animations d'éléments et définit les fonctions qui peuvent être factorisées. QVariantAnimation ne peut pas être utilisée directement puisqu'il s'agit d'une classe abstraite. Elle a une méthode virtuelle pure appelée updateCurrentValue(). La classe réalise les interpolations sur les QVariant, mais laisse l'utilisation des valeurs interpolées à ses sous-classes. Actuellement, Qt fournit QPropertyAnimation, qui anime les propriétés Qt. Voir la description de la classe QPropertyAnimation si vous souhaitez animer ces propriétés. Vous pouvez ensuite définir les valeurs de début et de fin pour la propriété en appelant setStartValue() et setEndValue(), et finalement appeler start() pour démarrer l'animation. QVariantAnimation va interpoler la propriété de l'objet cible et émettre valueChanged(). Pour réagir à un changement de la valeur courante vous devez réimplémenter la fonction virtuelle updateCurrentValue(). Il est également possible de fixer les valeurs à des étapes déterminées, situées entre la valeur de début et la valeur de fin. L'interpolation passera ensuite par ces points aux étapes spécifiées. Notez que les valeurs de début et de fin sont définies comme étant les valeurs clés à 0,0 et 1,0. Il y a deux façons de définir comment QVariantAnimation interpole les valeurs. Vous pouvez définir un assouplissement de la courbe en appelant setEasingCurve() et configurer la durée en appelant setDuration(). Vous pouvez changer la façon dont les QVariants sont interpolés en créant une sous-classe de QVariantAnimation et en réimplémentant la fonction virtuelle interpolated(). Réaliser une sous-classe de QVariantAnimation peut être une alternative si vous avez des QVariant que vous ne voulez pas déclarer en tant que propriétés Qt. Notez, toutefois, que dans la plupart des cas, il est préférable de déclarer votre QVariant en tant que propriété. Tous les types QVariant ne sont pas supportés. Ci-dessous une liste des types QVariant actuellement supportés : Si vous avez besoin d'interpoler les autres types variants, y compris des types personnalisés, vous devez implémenter l'interpolation vous-même. Pour ce faire, réimplémenter interpolated() qui retourne les valeurs d'interpolation pour la valeur étant interpolée. Voir aussi QPropertyAnimation, QAbstractAnimation et animation-overview. Typetypedef QVariantAnimation::KeyValueIl s'agit d'une définition de type pour QPair<qreal, QVariant>. typedef QVariantAnimation::KeyValuesIl s'agit d'une définition de type pour QVector<KeyValue> PropriétéscurrentValue : const QVariantCette propriété contient la valeur courante de l'animation. Elle décrit la valeur courante, une valeur interpolée entre la valeur de début et la valeur de fin, utilisant le temps courant pour la progression de l'animation. La valeur elle-même est obtenue à partir de interpolated(), qui est appelée à plusieurs reprises au cours de l'exécution de l'animation. QVariantAnimation appelle la fonction virtuelle updateCurrentValue() quand la valeur courante change. Ceci est particulièrement utile pour les sous-classes qui ont besoin de suivre les mises à jour. Par exemple, QPropertyAnimation utilise cette fonction pour animer les propriétés Qt.. Fonctions d'accèsQVariant currentValue () const Signal de notificationvoid valueChanged ( const QVariant & value ) Voir aussi startValue et endValue. duration : intCette propriété contient la durée de l'animation. Elle décrit la durée de l'animation en millisecondes. La durée par défaut est de 250 millisecondes. Fonctions d'accèsvirtual int duration () const Voir aussi QAbstractAnimation::duration(). easingCurve : QEasingCurveCette propriété contient l'assouplissement de la courbe de l'animation. Elle définit l'assouplissement de la courbe de l'animation. Par défaut, un assouplissement de la courbe linéaire est utilisé, donnant une interpolation linéaire. D'autres courbes sont fournies, par exemple, QEasingCurve::InCirc, qui fournit une courbe circulaire. Un autre exemple est QEasingCurve::InOutElastic, qui donne un effet élastique sur les valeurs de la variante interpolée. L'assouplissement de la courbe est utilisé avec l'interpolateur, la fonction virtuelle interpolated(), la durée de l'animation et iterationCount, pour contrôler comment la valeur courante change au fur et à mesure de la progression de l'animation. Fonctions d'accèsQEasingCurve easingCurve () const endValue : QVariantCette propriété contient la valeur de fin de l'animation. Elle décrit la valeur de fin de l'animation. Fonctions d'accèsQVariant endValue () const Voir aussi startValue. startValue : QVariantCette propriété contient la valeur optionnelle de début de l'animation. Elle décrit la valeur optionnelle de début de l'animation. Si elle est omise, ou si un QVariant nul est assigné comme valeur de départ, l'animation va utiliser la position courante de la fin quand l'animation est démarrée. Fonctions d'accèsQVariant startValue () const Voir aussi endValue. Fonctions membresQVariantAnimation::QVariantAnimation ( QObject * parent = 0 )Construit un objet QVariantAnimation. parent est passé au constructeur de QAbstractAnimation. QVariantAnimation::~QVariantAnimation ()Détruit l'animation. bool QVariantAnimation::event ( QEvent * event ) [virtual protected]Réimplémentation de QObject::event(). QVariant QVariantAnimation::interpolated ( const QVariant & from, const QVariant & to, qreal progress ) const [virtual protected]Cette fonction virtuelle retourne l'interpolation linéaire entre les variants from et to à progress, en général une valeur comprise entre 0 et 1. Vous pouvez réimplémenter cette fonction dans une sous-classe de QVariantAnimation pour fournir votre propre algorithme d'interpolation. Notez que pour que l'interpolation fonctionne avec une QEasingCurve qui retourne une valeur inférieure à 0 ou supérieure à 1 (telle que QEasingCurve::InBack), vous devriez vous assurer qu'elle peut être extrapolée. Si la sémantique du type de données ne permet pas l'extrapolation, cette fonction doit gérer cela avec élégance. Vous devez appeler l'implémentation QVariantAnimation mise en oeuvre dans cette fonction si vous souhaitez que votre classe gère les types déjà supportés par Qt (voir la description de la classe QVariantAnimation pour une liste des types pris en charge). Voir aussi QEasingCurve. QVariant QVariantAnimation::keyValueAt ( qreal step ) constRetourne la valeur de la keyframe pour l'indice step donné. step doit être compris entre 0 et 1. S'il n'y a pas de KeyValue pour l'indice step, elle retourne un QVariant invalide. Voir aussi keyValues() et setKeyValueAt(). KeyValues QVariantAnimation::keyValues () constRetourne les keyframes de l'animation. Voir aussi keyValueAt() et setKeyValueAt(). void QVariantAnimation::setKeyValueAt ( qreal step, const QVariant & value )Crée une keyframe à l'indice step donné avec la valeur value donnée. step doit être compris entre 0 et 1. Voir aussi setKeyValueAt() et keyValueAt(). void QVariantAnimation::setKeyValues ( const KeyValues & keyValues )Remplace la série actuelle de keyframes par keyValues. L'étape des keyframes doit être compris entre 0 et 1. Voir aussi keyValues() et keyValueAt(). void QVariantAnimation::updateCurrentTime ( int ) [virtual protected]Réimplémentation de QAbstractAnimation::updateCurrentTime(). void QVariantAnimation::updateCurrentValue ( const QVariant & value ) [pure virtual protected]Cette fonction virtuelle pure est appelée à chaque fois que la valeur de l'animation courante change. value est la nouvelle valeur courante. Voir aussi currentValue. void QVariantAnimation::updateState ( QAbstractAnimation::State newState, QAbstractAnimation::State oldState ) [virtual protected]Réimplémentation de QAbstractAnimation::updateState(). void QVariantAnimation::valueChanged ( const QVariant & value ) [signal]QVariantAnimation émet ce signal chaque fois que la valeur courante change. Voir aussi currentValue, startValue et endValue. En relation mais non membresvoid qRegisterAnimationInterpolator ( QVariant(* ) ( const T & from, const T & to, qreal progress ) func )Enregistre une fonction d'interpolation func personnalisée pour le type de template T. L'interpolateur doit être enregistré avant que l'animation soit construite. Pour annuler l'enregistrement (et utiliser l'interpolateur par défaut), définir func à 0. Remarque : Cette fonction est thread-safe. RemerciementsMerci à Jonathan Courtois pour la traduction et à Thibaut Cuvelier et à Jacques Thery pour leur relecture ! |
Publicité
Best OfActualités les plus luesSemaine
Mois
Année
Le Qt Developer Network au hasardCompiler l'add-in Qt de Visual StudioLe Qt Developer Network est un réseau de développeurs Qt anglophone, où ils peuvent partager leur expérience sur le framework. Lire l'article.
CommunautéRessources
Liens utilesContact
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 ! |
Copyright © 2000-2012 - www.developpez.com