IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Affichage d'animation avec QPropertyAnimation


Sujet :

Qt

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Affichage d'animation avec QPropertyAnimation
    Bonjour à tous,
    je souhaite crée une animation avec une image insérée sur un QLabel.
    J'utilise donc QPropertyAnimation seulement quand la durée de l'animation est faible,le QLabel ne s'affiche pas entièrement durant l'animation et donc l'image qui est dessus non plus.
    Voici le code qui vaux mieux que de longues explications :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void Element::aller(int x, int y)
    {
        double distance=sqrt(pow(x-this->x(),2)+pow(y-this->y(),2));
        double temps=(distance/m_vitesse);
        anim_p->setDuration(temps);
        anim_p->setStartValue(QRect(this->x(),this->y(),this->width()+20,this->height()+6));
        anim_p->setEndValue(QRect(x,y,this->width()+100,this->height()+6));
        anim_p->start();
    }
    Merci d'avance pour vos réponses, bonne après midi !

  2. #2
    Rédacteur
    Avatar de Amnell
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    1 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 840
    Points : 5 545
    Points
    5 545
    Par défaut
    Bonjour,

    Quelques pistes :

    1) Avez-vous essayé de tracer ce qu'il se passe avec des messages de debug ou des points d'arrêt ? Par exemple, qu'obtenez-vous avec ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // À la fin de votre code
    qDebug() << distance;
    qDebug() << x << y;
    qDebug() << QRect(this->x(),this->y(),this->width()+20,this->height()+6);
    qDebug() << QRect(x,y,this->width()+100,this->height()+6)
    2) Avez-vous essayé de retirer le setStartValue ? Le startValue() va pré-déplacer le widget, donnant un aspect assez brutal à l'animation, ce qui n'est pas forcément ce que vous voulez.

    Bon courage,
    Amnell.
    N'oubliez pas de consulter la FAQ Qt ainsi que les cours et tutoriels C++/Qt !

    Dernier article : Débuter avec les Enlightenment Foundation Libraries (EFL)
    Dernières traductions : Introduction à Qt Quick - Applications modernes avec Qt et QML
    Vous cherchez un livre sur Qt 5, Qt Quick et QML ? Créer des applications avec Qt 5 - Les essentiels

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Si ton Qlabel ne s'affiche pas entièrement, peut être que la taille de ton Qlabel est plus grande que celle de ton Qrect. Vu que tu utilises this->width(), tu vas prendre la taille de ton élément de type Element, à moins que ta classe Element hérite de Qlabel. Si ce n'est pas le cas, peut être que tu as fixé la taille de ton Qlabel à une taille inférieure à celle de ton image.

    En espérant que j'ai pu t'aider ^^

Discussions similaires

  1. [Turbo Pascal] Affichage de sapin avec animation et tableaux de 64 Leds
    Par Mic** dans le forum Contribuez
    Réponses: 2
    Dernier message: 18/11/2008, 23h05
  2. Réponses: 3
    Dernier message: 03/10/2006, 06h00
  3. Réponses: 3
    Dernier message: 23/05/2006, 20h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo