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 :

une image animée en fond d'écran


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Par défaut une image animée en fond d'écran
    Bonjour, j'aimerais afficher une image svg (gif au pire...) en fond d'écran de mon application...

    Pour l'instant je fais ça :
    QBrush arrierePlan;
    arrierePlan.setTexture(QPixmap("res/bubbles.svg"));
    zoneCentrale->setBackground(arrierePlan);
    Seulement l'animation du svg n'est pas lancée (je ne m'y a attendais pas à vrai dire^^)... J'ai aucune idée de la façon de faire apparaitre l'animation...

    Je sais que dans une widget de type QSvgWidget, l'animation passe mais alors est-il possible de mettre cette widget en fond d'écran de mon application ?

    Merci

  2. #2
    Membre expérimenté Avatar de MacPro
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Par défaut
    salut, tu peux faire ça sur timer ptêtre non ?Regarde sur ce forum, y'a quelqu'un qui a cherché à faire une image animé dans le tray, ça peut te donner des idées.

    EDIT : je viens de trouver le lien

    systray animé

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Par défaut
    ce lien m'a beaucoup aidé, maintenant j'arrive à afficher quelque chose à chaque animation de mon svg.

    Le problème étant que je n'arrive pas à récupérer l'état courant du svg comme c'était fait dans le lien que tu m'a donné...
    movieIcon->currentPixmap());
    Pour info j'utilise un QSvgRenderer


    Pour ton idée de timer, il faudrait toujours que je sois capable d'afficher moi même l'animation suivante or je ne sais pas comment obtenir l'animation suivante...

  4. #4
    Membre très actif
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Freelance iOS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 726
    Par défaut
    Je serais à ta place, je pense que j'utiliserais le module GraphicsView dans un soucis de performances.

    Un autre bon exemple est l'utilisation d'OpenGL pour améliorer le rendu : http://labs.trolltech.com/blogs/2008...s-with-opengl/

    Bon courage pour la suite. Tiens nous informés.

  5. #5
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par FloMo Voir le message
    Je serais à ta place, je pense que j'utiliserais le module GraphicsView dans un soucis de performances.
    Mais c'est une bonne idée. J'avoue que je ne sait pas si tu gagnera en perf en utilisant un GraphicsView

    Perso, j'aurais utiliser uniquement un label comme widget de fond, surtout pour éviter le problème de redimensionnement.

    Bon courage

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Par défaut
    j'ai essayé d'utiliser opengl et ça a marché avec un QSvgRenderMachin.

    Le problème c'est que j'affiche des widgets par dessus et qu'elles perdent leur transparence en opengl (les "trous" de ma widget ne laissent plus voir le fond de l'application, à la place j'ai droit à des trous opaques de couleur du qglclearcolor). En googlant j'étais tombé sur une page de trolltech disant que qt gérait mal l'affichage de widgets trouées sur un rendu opengl et qu'il pouvait y avoir des problèmes de syncho entre le rendu opengl global et celui dans les trous des widgets...

    Je vais essayer un GraphicsView, le rendu sur la page a l'air sympa. Par contre je ne suis toujours pas sur que l'animation du svg sera jouée...

  7. #7
    Membre très actif
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Freelance iOS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 726
    Par défaut
    Citation Envoyé par Mongaulois Voir le message
    Mais c'est une bonne idée. J'avoue que je ne sait pas si tu gagnera en perf en utilisant un GraphicsView
    Dans le QGraphicsView, tu utilises setViewport(new QGLWidget) pour que ton rendu GraphicsView soit accéléré par OpenGL.

    Je pense que ça peut être une bonne base. De toutes façons, l'animation d'un fond d'application a toujours été problématique car ça nécessite un paquet d'optimisations en comparaison à un fond fixe. (performances au niveau de l'overlay)

    L'OpenGL te permet d'optimiser tout ça en utilisant les performances de la carte graphique. Après, c'est à toi d'optimiser ton code dans le QGraphicsView.

    Bon courage à toi !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Insérer une image locale en fond d'écran sur une page (sans url)
    Par Marc22 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 19/07/2009, 15h11
  2. comment afficher une image animée dans un formulaire
    Par dadamovic dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 13/05/2006, 18h59
  3. pb avec une image animée
    Par kivoch dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 07/01/2006, 16h32
  4. [Tkinter] Afficher une image animée
    Par Chris33 dans le forum Tkinter
    Réponses: 3
    Dernier message: 16/12/2005, 23h14
  5. Comment changer l'image Bitmap en fond d'écran du bureau ?
    Par Maddelphi dans le forum API, COM et SDKs
    Réponses: 8
    Dernier message: 23/06/2004, 19h57

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