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

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 64
    Points
    64
    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 averti Avatar de MacPro
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Points : 344
    Points
    344
    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 du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 64
    Points
    64
    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 expérimenté
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    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
    Points : 1 511
    Points
    1 511
    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 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 033
    Points : 13 968
    Points
    13 968
    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 du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 64
    Points
    64
    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
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par AlKoLiK Voir le message
    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...
    Dans ce cas GraphicView semble une bonne solution :
    http://qt.developpez.com/doc/4.4/qgraphicssvgitem/


    et pour tes widgets :
    http://qt.developpez.com/doc/4.4/qgraphicsproxywidget/

  8. #8
    Membre expérimenté
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    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
    Points : 1 511
    Points
    1 511
    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 !

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 64
    Points
    64
    Par défaut
    Effectivement ça marche mieux avec un QGraphicsView et des QGraphicsProxyWidgets (et l'aide d'un widget.setAttribute(Qt::WA_NoSystemBackground) sur les widgets pour ne plus afficher leur fond). L'affichage en OpenGl a l'air de bien se passer.

    Seulement jusqu'à présent j'utilisais un placement absolu (item->setPos(x,y)), j'aimerais bien utiliser un QGraphicsQridLayout pour que tout se repositionne bien après un resize.

    Le meilleur résultat que j'ai obtenu avec un layout c'est l'affichage de mes widgets sur un fond noir. J'ai donc perdu leur fond invisible et la partie de la scène opengl sur laquelle se trouvent les widgets.

    J'y ai passé toute l'aprem mais je ne suis arrivé à rien de mieux... est ce que ce que je veux faire est au moins possible ? En dernier recours je pense gérer le repositionnement dans un resizeEvent() mais je préfère l'éviter...

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 64
    Points
    64
    Par défaut
    j'arrive à afficher mes widgets comme je veux sur ma scène openGL avec le layout désiré.


    Le code pour ceux que ça intéresseraient :

    OpenGLScene *gl;
    GraphicsView view;
    view.setViewport(new QGLWidget(QGLFormat(QGL::SampleBuffers)));
    view.setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
    view.setScene(gl = new OpenGLScene);
    view.show();

    QGraphicsWidget *machin = gl->addWidget(new Machin(0));
    QGraphicsWidget *truc = gl->addWidget(new Truc(0));
    // Machin et Truc sont des QWidgets personnalisées

    QGraphicsGridLayout *layout = new QGraphicsGridLayout;
    layout->addItem(machin, 0, 0, 1, 1);
    layout->addItem(truc, 1, 1, 1, 1);

    QGraphicsWidget *form = new QGraphicsWidget;
    form->setLayout(layout);
    gl->addItem(form);
    MAIS il demeure un problème pour une widget, une pour laquelle j'ai dû redéfinir le paintEvent(). Rien ne s'affiche là où elle devrait être. Il semblerait que son paintEvent() n'est jamais appelé malgré un repaint()... Là j'ai vraiment aucune idée de ce qui pourrait géner...

  11. #11
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Merci pour le code exemple

    Citation Envoyé par AlKoLiK Voir le message
    MAIS il demeure un problème pour une widget, une pour laquelle j'ai dû redéfinir le paintEvent(). Rien ne s'affiche là où elle devrait être. Il semblerait que son paintEvent() n'est jamais appelé malgré un repaint()... Là j'ai vraiment aucune idée de ce qui pourrait géner...
    Comment te sert tu du repaint? Tu l'appel à temps régulier?

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par Mongaulois Voir le message
    Merci pour le code exemple


    Comment te sert tu du repaint? Tu l'appel à temps régulier?
    En fait il fallait expressément donner une taille à la widget avec le paintEvent() surchargé (il me semble que ce n'était pas obligatoire quand j'utilisait des QWidgets simples au lieu de QGraphicsWidgets...). Le paintEvent() n'était pas appelé appelé tout à l'heure vu que qu'il devait considérer que la taille de la zone à peindre était de 0*0.

    setMinimumSize(1080, 300);
    Maintenant le problème le c'est que le drag&drop ne marche plus entre mes widgets Machin et Truc. Je viens de remarquer que le mouseMoveEvent() de Truc n'est pas appelé quand on fait glisser un élément depuis Machin. Cependant il est appelé quand on fait glisser de Truc vers Truc.

    Désolé de vous tenir au courant en temps réél de mes problèmes mais vous m'aidez beaucoup .

    Une idée pour le problème de D&D ?

  13. #13
    Membre expérimenté
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    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
    Points : 1 511
    Points
    1 511
    Par défaut
    Entre Truc et Machin, c'est un peu dur de suivre pour le D&D. Est-ce que l'on pourrait avoir un peu plus de détails sur Truc et Machin ?

    Quel est le rôle de chacun, grossièrement ?
    Comment gères-tu le D&D ?

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 64
    Points
    64
    Par défaut
    Machin contient une liste d'images (qlabels) affichés normalement selon un QGridLayout.

    Truc contient une liste d'emplacements vides. J'avais besoin de placer des Qlabels selon un layout circulaire, layout non standard en qt je crois. J'ai du alors réécrire le paintevent() pour bien les placer en cercle.

    Quand je faisais glisser une image de Machin vers un emplacement vide de Truc, l'image prennait la place de l'emplacement vide.

    Pour rajouter le fond d'application en opengl et avoir un affichage correct, j'ai dû utiliser les composants graphiques cités plus haut et depuis D&D ne marche plus...

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 64
    Points
    64
    Par défaut
    bon ma précédente explication n'était pas très précise. Maintenant du code...

    J'ai fait simple. SEUL main() change entre le mode dit "normal" ou je n'utilise que des qwidgets comme conteneurs et le mode graphicsview;

    mode normal :
    int main(int argc, char* argv[]) {
    QApplication app(argc, argv);
    QWidget widget;
    widget.show();

    QGridLayout *layout = new QGridLayout;

    layout->addWidget(new MainWidget(0), 0, 0, 1, 1);

    widget.setLayout(layout);

    return app.exec();
    }
    mode graphicview :
    int main(int argc, char **argv) {
    QApplication app(argc, argv);
    OpenGLScene *scene; // hérite de QGraphicsScene
    GraphicsView view; // hérite de QGraphicsView
    view.setViewport(new QGLWidget(QGLFormat(QGL::SampleBuffers)));
    view.setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
    view.setScene(scene = new OpenGLScene);
    view.show();

    QGraphicsWidget *widget = scene->addWidget(new MainWidget(0));

    QGraphicsGridLayout *layout = new QGraphicsGridLayout;
    layout->addItem(widget, 1, 1, 1, 1);

    QGraphicsWidget *form = new QGraphicsWidget;
    form->setLayout(layout);
    scene->addItem(form);

    view.resize(1200, 700);

    return app.exec();
    }
    En normal le D&D de la zone du haut vers le bas fonctionne normalement. En mode graphicsview il ne fonctionne pas du tout.


    EDIT : je pense que la question est plutôt : est il possible de faire du drag and drop dans des "embedded widgets" ? Je ne sais pas trop comment interpréter ce passage : http://qt.developpez.com/doc/4.4/gra...widget-support

  16. #16
    Membre expérimenté
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    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
    Points : 1 511
    Points
    1 511
    Par défaut
    QGraphicsProxyWidget hérite de QGraphicsItem qui lui même gère le drag'n'drop. Donc il ne devrait normalement pas y avoir de soucis.

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 64
    Points
    64
    Par défaut
    Décidément je ne m'en sors pas. Le d&d fonctionne normalement avec que des qwidgets mais dès que je passe dans un qgraphicsview, plus rien ne marche. Le code complet simplifié si ça vous dit de mettre le nez dedans...

    main.c
    Note : décommenter et commenter les lignes correspondantes pour passer d'un mode à l'autre...
    #include <QApplication>
    #include "Custom.h"
    #include <QGraphicsView>
    #include <QGraphicsScene>
    #include <QGraphicsGridLayout>

    int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    // mode graphique
    /*QGraphicsScene scene;
    QGraphicsView view(&scene);
    scene.addWidget(new Custom());
    view.show();*/

    // mode normal
    Custom view;
    view.show();

    return app.exec();
    }
    Custom.h
    #include <iostream>
    #include <QLabel>
    #include <QDrag>
    #include <QMimeData>
    #include <QMouseEvent>
    #include <QWidget>
    #include <QPixmap>
    #include <QWidget>
    #include <QHBoxLayout>

    class Custom: public QWidget {

    public:
    Custom();
    QLabel *label;

    void mousePressEvent(QMouseEvent *event);
    void mouseMoveEvent(QMouseEvent *event);
    void dragEnterEvent(QDragEnterEvent *event);
    void dropEvent(QDropEvent *event);
    };
    Custom.cpp
    #include "Custom.h"

    using namespace std;

    Custom::Custom() {

    label = new QLabel(this);
    label->setText("ça c'est la widget");
    label->setFrameShape(QFrame::Box);
    label->setFrameShadow(QFrame::Sunken);

    QHBoxLayout * layout;
    layout = new QHBoxLayout;
    layout->addWidget(label);
    setLayout(layout);
    setAcceptDrops(true);
    }

    void Custom::mousePressEvent(QMouseEvent *event) {
    label->setText("sérieux ça soule");
    }

    void Custom::mouseMoveEvent(QMouseEvent *event) {
    label->setText("bouge moi ça");

    QByteArray itemData;
    QDataStream dataStream(&itemData, QIODevice::WriteOnly);
    QMimeData *mimeData = new QMimeData;
    mimeData->setData("mmm", itemData);

    QDrag *drag = new QDrag(this);
    drag->setMimeData(mimeData);

    Qt:: DropAction dropAction;
    dropAction = drag->start(Qt::CopyAction | Qt::MoveAction);
    }

    void Custom::dragEnterEvent(QDragEnterEvent *event) {
    label->setText("on dirait que ça marche");
    event->acceptProposedAction();
    }

    void Custom::dropEvent(QDropEvent *event) {
    label->setText("hey mais ça marche vraiment");
    }
    Il faut que "hey mais ça marche vraiment" soit affiché dans la widget pour considérer que le d&d s'est déroulé normalement... Peut être que vous pourrez m'aider à le faire apparaitre en mode graphique...

    Merci !

  18. #18
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Cela ne correspondrais pas à ce bug?
    http://trolltech.com/developer/task-...ntry&id=236545

  19. #19
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 033
    Points : 13 968
    Points
    13 968
    Par défaut
    voici un petit patch (pour attendre Qt 4.5) pour remplacer QGraphicsView
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    class myQGraphicsView : public QGraphicsView
    {
        public :
        myQGraphicsView(QGraphicsScene * scene)
        :QGraphicsView(scene)
        {
        }
     
        void dropEvent(QDropEvent *event)
        {
            QGraphicsProxyWidget * prox = dynamic_cast<QGraphicsProxyWidget *>(itemAt ( event->pos() ));
     
            if (prox && prox->widget())
            {
                QObject * obj = qobject_cast<QObject *> (prox->widget());
                obj->event ( event);
            }
            QGraphicsView::dropEvent(event);
        };
     
    };

    [edit] meilleur version to patch[edit]

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par Mongaulois Voir le message
    voici un petit patch (pour attendre Qt 4.5) pour remplacer QGraphicsView
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    class myQGraphicsView : public QGraphicsView
    {
        public :
        myQGraphicsView(QGraphicsScene * scene)
        :QGraphicsView(scene)
        {
        }
     
        void dropEvent(QDropEvent *event)
        {
            QGraphicsProxyWidget * prox = dynamic_cast<QGraphicsProxyWidget *>(itemAt ( event->pos() ));
     
            if (prox && prox->widget())
            {
                QObject * obj = qobject_cast<QObject *> (prox->widget());
                obj->event ( event);
            }
            QGraphicsView::dropEvent(event);
        };
     
    };

    [edit] meilleur version to patch[edit]
    yay ! ça marche ! un grand merci à toi

    Par contre je ne comprends pas la condition...
    if (prox && prox->widget())

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

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