Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

Vous n'avez pas encore de compte Developpez.com ? L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Developpez.com

Qt

Choisissez la catégorie, puis la rubrique :

Viadeo Twitter Facebook Share on Google+   
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

QEasingCurve

La classe QEasingCurve fournit un assouplissement des courbes pour le contrôle d'animations. Plus d'informations...

#include <QEasingCurve>

Voir la position dans l'arbre des classes.

  

Description détaillée

La classe QEasingCurve fournit un assouplissement des courbes pour le contrôle d'animations.

L'assouplissement des courbes décrit une fonction qui contrôle la vitesse de l'interpolation entre 0 et 1. Il permet d'obtenir des transitions d'une valeur à une autre plus naturelles qu'une simple vitesse constante. La classe QEasingCurve est généralement utilisée en conjonction avec les classes QVariantAnimation et QPropertyAnimation mais peut être utilisée toute seule. Elle est généralement utilisée pour accélérer l'interpolation à partir d'une vitesse nulle (ease in) ou décélérer jusqu'à une vitesse nulle (ease out). Ease in et ease out peuvent également être combinés dans le même assouplissement.

Pour calculer la vitesse de l'interpolation, l'assouplissement de la courbe fournit la fonction valueForProgress(), où l'argument progress spécifie la progression de l'interpolation : 0 est la valeur de départ de l'interpolation, 1 est la valeur de fin. La valeur retournée est la progression effective de l'interpolation. Si la valeur retournée est respectivement la même que toutes les valeurs d'entrées, l'assouplissement de la courbe est linéaire. Il s'agit du comportement par défaut.

Par exemple, ceci affichera la progression effective de l'interpolation entre 0 et 1 :

QEasingCurve easing(QEasingCurve::InOutQuad);
 
for(qreal t = 0.0; t < 1.0; t+=0.1)
    qWarning() << "Effective progress" << t << " is
               << easing.valueForProgress(t);

Quand vous utilisez une QPropertyAnimation, l'assouplissement de la courbe associée sera utilisé pour contrôler la progression de l'interpolation entre startValue et endValue :

QPropertyAnimation animation;
animation.setStartValue(0);
animation.setEndValue(1000);
animation.setDuration(1000);
animation.setEasingCurve(QEasingCurve::InOutQuad);

La possibilité de définir une amplitude, un dépassement, ou une période dépend du type de QEasingCurve. L'accès à l'amplitude est disponible pour les courbes qui se comportent comme des ressorts tels que les courbes de rebond élastique. Changer l'amplitude change la hauteur de la courbe. L'accès à la période n'est disponible que pour les courbes élastiques et définir une période supérieur ralentit le taux de rebond. Seuls les courbes avec un comportement de « boomerang » tels que InBack, OutBack, InOutBack et OutInBack ont des paramètres de dépassement. Ces courbes vont au-delà du point d'interpolation finale et reviennent à ce point tel un boomerang.

L'exemple Easing Curves contient des échantillons de types QEasingCurve et vous permet de modifier les paramètres de la courbe.

Types membres

typedef QEasingCurve::EasingFunction

Il s'agit d'un typedef pour un pointeur vers une fonction avec la signature suivante :

qreal myEasingFunction(qreal progress);

enum QEasingCurve::Type

Le type d'assouplissement de courbe.

Constante Valeur Description
QEasingCurve::Linear 0 image
Assouplissement de la courbe pour une fonction linéaire (t) : la vitesse est constante.
QEasingCurve::InQuad 1 image
Assouplissement de la courbe pour une fonction quadratique (t2) : accélération à partir d'une vitesse nulle.
QEasingCurve::OutQuad 2 image
Assouplissement de la courbe pour une fonction quadratique (t2) : décélération jusqu'à une vitesse nulle.
QEasingCurve::InOutQuad 3 image
Assouplissement de la courbe pour une fonction quadratique (t2) : accélération jusqu'à la moitié, puis décélération.
QEasingCurve::OutInQuad 4 image
Assouplissement de la courbe pour une fonction quadratique (t2) : décélération jusqu'à la moitié, puis accélération.
QEasingCurve::InCubic 5 image
Assouplissement de la courbe pour une fonction cubique (t3) : accélération à partir d'une vitesse nulle.
QEasingCurve::OutCubic 6 image
Assouplissement de la courbe pour une fonction cubique (t3) : décélération jusqu'à une vitesse nulle.
QEasingCurve::InOutCubic 7 image
Assouplissement de la courbe pour une fonction cubique (t3) : accélération jusqu'à la moitié, puis décélération.
QEasingCurve::OutInCubic 8 image
Assouplissement de la courbe pour une fonction cubique (t3) : décélération jusqu'à la moitié, puis accélération.
QEasingCurve::InQuart 9 image
Assouplissement de la courbe pour une fonction quartique (t4) : accélération à partir d'une vitesse nulle.
QEasingCurve::OutQuart 10 image
Assouplissement de la courbe pour une fonction quartique (t4) : décélération jusqu'à une vitesse nulle.
QEasingCurve::InOutQuart 11 image
Assouplissement de la courbe pour une fonction quartique (t4) : accélération jusqu'à la moitié, puis décélération.
QEasingCurve::OutInQuart 12 image
Assouplissement de la courbe pour une fonction quartique (t4) : décélération jusqu'à la moitié, puis accélération.
QEasingCurve::InQuint 13 image
Assouplissement de la courbe pour une fonction quintique (t5) : accélération à partir d'une vitesse nulle.
QEasingCurve::OutQuint 14 image
Assouplissement de la courbe pour une fonction quintique (t5) : décélération jusqu'à une vitesse nulle.
QEasingCurve::InOutQuint 15 image
Assouplissement de la courbe pour une fonction quintique (t5) : accélération jusqu'à la moitié, puis décélération.
QEasingCurve::OutInQuint 16 image
Assouplissement de la courbe pour une fonction quintique (t5) : décélération jusqu'à la moitié, puis accélération.
QEasingCurve::InSine 17 image
Assouplissement de la courbe pour une fonction sinusoïdal (sin(t)) : accélération à partir d'une vitesse nulle.
QEasingCurve::OutSine 18 image
Assouplissement de la courbe pour une fonction sinusoïdal (sin(t)) : décélération jusqu'à une vitesse nulle.
QEasingCurve::InOutSine 19 image
Assouplissement de la courbe pour une fonction sinusoïdal (sin(t)) : accélération jusqu'à la moitié, puis décélération.
QEasingCurve::OutInSine 20 image
Assouplissement de la courbe pour une fonction sinusoïdal (sin(t)) : décélération jusqu'à la moitié, puis accélération.
QEasingCurve::InExpo 21 image
Assouplissement de la courbe pour une fonction exponentielle (2t) : accélération à partir d'une vitesse nulle.
QEasingCurve::OutExpo 22 image
Assouplissement de la courbe pour une fonction exponentielle (2t) : décélération jusqu'à une vitesse nulle.
QEasingCurve::InOutExpo 23 image
Assouplissement de la courbe pour une fonction exponentielle (2t) : accélération jusqu'à la moitié, puis décélération.
QEasingCurve::OutInExpo 24 image
Assouplissement de la courbe pour une fonction exponentielle (2t) : décélération jusqu'à la moitié, puis accélération.
QEasingCurve::InCirc 25 image
Assouplissement de la courbe pour une fonction circulaire (sqrt(1-t2)) : accélération à partir d'une vitesse nulle.
QEasingCurve::OutCirc 26 image
Assouplissement de la courbe pour une fonction circulaire (sqrt(1-t2)) : décélération jusqu'à une vitesse nulle.
QEasingCurve::InOutCirc 27 image
Assouplissement de la courbe pour une fonction circulaire (sqrt(1-t2)) : accélération jusqu'à la moitié, puis décélération.
QEasingCurve::OutInCirc 28 image
Assouplissement de la courbe pour une fonction circulaire (sqrt(1-t2)) : décélération jusqu'à la moitié, puis accélération.
QEasingCurve::InElastic 29 image
Assouplissement de la courbe pour une fonction élastique (Onde sinusoïdale qui décroît de façon exponentielle) : accélération à partir d'une vitesse nulle. Le pic de l'amplitude peut être défini avec la paramètre amplitude, et la décroissance de la période par le paramètre period.
QEasingCurve::OutElastic 30 image
Assouplissement de la courbe pour une fonction élastique (Onde sinusoïdale qui décroît de façon exponentielle) : décélération jusqu'à une vitesse nulle. Le pic de l'amplitude peut être défini avec la paramètre amplitude, et la décroissance de la période par le paramètre period.
QEasingCurve::InOutElastic 31 image
Assouplissement de la courbe pour une fonction élastique (Onde sinusoïdale qui décroît de façon exponentielle) : accélération jusqu'à la moitié, puis décélération.
QEasingCurve::OutInElastic 32 image
Assouplissement de la courbe pour une fonction élastique (Onde sinusoïdale qui décroît de façon exponentielle) : décélération jusqu'à la moitié, puis accélération.
QEasingCurve::InBack 33 image
Assouplissement de la courbe pour un retour easing in (dépassement de fonction cubique : (s+1)*t3 - s*t2) : accélération à partir d'une vitesse nulle.
QEasingCurve::OutBack 34 image
Assouplissement de la courbe pour un retour easing out (dépassement de fonction cubique : (s+1)*t3 - s*t2) : décélération jusqu'à une vitesse nulle.
QEasingCurve::InOutBack 35 image
Assouplissement de la courbe pour un retour easing in/out (dépassement de fonction cubique : (s+1)*t3 - s*t2) : accélération jusqu'à la moitié, puis décélération.
QEasingCurve::OutInBack 36 image
Assouplissement de la courbe pour un retour easing out/in (dépassement de fonction cubique : (s+1)*t3 - s*t2) : décélération jusqu'à la moitié, puis accélération.
QEasingCurve::InBounce 37 image
Assouplissement de la courbe pour une fonction à rebond (Rebond parabolique qui décroît de façon exponentielle) : accélération à partir d'une vitesse nulle.
QEasingCurve::OutBounce 38 image
Assouplissement de la courbe pour une fonction à rebond (Rebond parabolique qui décroît de façon exponentielle) : décélération jusqu'à une vitesse nulle.
QEasingCurve::InOutBounce 39 image
Assouplissement de la courbe pour une fonction à rebond easing in/out (Rebond parabolique qui décroît de façon exponentielle) : accélération jusqu'à la moitié, puis décélération.
QEasingCurve::OutInBounce 40 image
Assouplissement de la courbe pour une fonction à rebond easing out/in (Rebond parabolique qui décroît de façon exponentielle) : décélération jusqu'à la moitié, puis accélération.
QEasingCurve::Custom 45 Ce type est retourné si l'utilisateur spécifie un type de courbe personnalisé avec setCustomType(). Notez que vous ne pouvez pas appeler setType() avec cette valeur, mais type() peut la retourner.

Fonctions membres

QEasingCurve::QEasingCurve ( Type type = Linear )

Construit un assouplissement de la courbe du type donné.

QEasingCurve::QEasingCurve ( const QEasingCurve & other )

Construit une copie d'une autre courbe.

QEasingCurve::~QEasingCurve ()

Destructeur.

qreal QEasingCurve::amplitude () const

Retourne l'amplitude. Cela n'est pas applicable à tous les types de courbes, seulement pour les courbes élastiques et à rebonds (courbe du type() QEasingCurve::InBounce, QEasingCurve::OutBounce, QEasingCurve::InOutBounce, QEasingCurve::OutInBounce, QEasingCurve::InElastic, QEasingCurve::OutElastic, QEasingCurve::InOutElastic ou QEasingCurve::OutInElastic).

Voir aussi setAmplitude().

EasingFunction QEasingCurve::customType () const

Retourne un pointeur vers la fonction de l'assouplissement de la courbe personnalisée. Si type() ne retourne pas QEasingCurve::Custom, cette fonction retournera 0.

Voir aussi setCustomType().

qreal QEasingCurve::overshoot () const

Retourne le dépassement. Cela n'est pas applicable à tous les types de courbes, seulement si type() est QEasingCurve::InBack, QEasingCurve::OutBack, QEasingCurve::InOutBack ou QEasingCurve::OutInBack.

Voir aussi setOvershoot().

qreal QEasingCurve::period () const

Retourne la période. Cela n'est pas applicable à tous les types de courbes, seulement si type() est QEasingCurve::InElastic, QEasingCurve::OutElastic, QEasingCurve::InOutElastic ou QEasingCurve::OutInElastic.

Voir aussi setPeriod().

void QEasingCurve::setAmplitude ( qreal amplitude )

Définit l'amplitude à la valeur de amplitude.

Cela va régler l'amplitude du rebond ou l'amplitude de l'effet élastique « spring ». Plus le nombre est élevé, plus l'amplitude l'est.

Voir aussi amplitude().

void QEasingCurve::setCustomType ( EasingFunction func )

Définit un assouplissement de la courbe personnalisée qui est donné par l'utilisateur dans la fonction func. La signature de la fonction est qreal myEasingFunction(qreal progress), où progress et la valeur retournée sont considérés comme normalisés entre 0 et 1 ; dans certains cas, la valeur retournée peut être en dehors des limites. Après avoir appelé cette fonction, type() retournera QEasingCurve::Custom. func ne peut pas être nulle.

Voir aussi customType() et valueForProgress().

void QEasingCurve::setOvershoot ( qreal overshoot )

Définit le dépassement à overshoot.

0 ne produit aucun dépassement et la valeur par défaut, 1.70158, produit un dépassement de 10 pour cent.

Voir aussi overshoot().

void QEasingCurve::setPeriod ( qreal period )

Définit la période à period. Fixer une petite valeur pour la période donnera une fréquence élevée de la courbe. Une grande période donnera une fréquence faible.

Voir aussi period().

void QEasingCurve::setType ( Type type )

Définit le type de l'assouplissement de la courbe à la valeur de type.

Voir aussi type().

Type QEasingCurve::type () const

Retourne le type d'assouplissement de la courbe.

Voir aussi setType().

qreal QEasingCurve::valueForProgress ( qreal progress ) const

Retourne la progression effective pour l'assouplissement de la courbe à progress. Bien que progress doive être compris entre 0 et 1, la progression effective retournée peut être en dehors de ces limites. Par exemple, QEasingCurve::InBack retournera des valeurs négatives au début de la fonction.

bool QEasingCurve::operator!= ( const QEasingCurve & other ) const

Compare cet assouplissement de la courbe avec other et retourne true si les valeurs ne sont pas égales. Elle comparera également les propriétés d'une courbe.

Voir aussi operator==().

QEasingCurve & QEasingCurve::operator= ( const QEasingCurve & other )

Copie other.

bool QEasingCurve::operator== ( const QEasingCurve & other ) const

Compare cet assouplissement de la courbe avec other et retourne true si les valeurs sont égales. Elle comparera également les propriétés d'une courbe.

En relation mais non membres de la classe

QDataStream & operator<< ( QDataStream & stream, const QEasingCurve & easing )

Écrit la courbe easing donnée dans le flux stream donné et retourne une référence sur le flux.

Voir aussi sérialisation des type de données Qt.

Remerciements

Merci à Jonathan Courtois pour la traduction et à Thibaut Cuvelier ainsi qu'à Jacques Thery pour leur relecture !

Warning: include(): https:// wrapper is disabled in the server configuration by allow_url_include=0 in /home/developpez/www/developpez-com/upload/qt/doc/bs.php on line 4 Warning: include(https://qt.developpez.com/index/rightColumn): failed to open stream: no suitable wrapper could be found in /home/developpez/www/developpez-com/upload/qt/doc/bs.php on line 4 Warning: include(): Failed opening 'https://qt.developpez.com/index/rightColumn' for inclusion (include_path='.:/usr/php53/lib/php') in /home/developpez/www/developpez-com/upload/qt/doc/bs.php on line 4
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 © 2020 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, 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 !
Responsable bénévole de la rubrique Qt : Thibaut Cuvelier -

Partenaire : Hébergement Web