insérer une image en C++

insérer une image en C++ - C++ - Programmation

Marsh Posté le 27-05-2005 à 19:14:02    

Bonjour,
 
j'ai besoin d'aide pour un petit problème: j'utilise C++ 6.0 avec QT designer .. qq'unpourrait il me dire exactement la procédure pour insérer une image sur un bouton (en fait en fonction de la réponse à telle ou telle condition il doit afficher telle ou telle image... et ce sont des .bmp) j'ai essayé Pixmap ms je dois rater une étape je pense parce qu'il ne le reconnait pas...
Et enfin autre chose si vraiment vous êtes caler, comment puis-je afficher une vidéo selon les même critère (condition remplie)?
 
Merci infiniment pour toute réponse, ça me dépannera vraiment...

Reply

Marsh Posté le 27-05-2005 à 19:14:02   

Reply

Marsh Posté le 28-05-2005 à 18:20:48    

Salut,
 
Pour l'image, il te suffit d'appeler tonBouton->setPixmap(QPixmap("image.bmp" )); Si ça ne marche pas, as-tu un message d'erreur ? Es-tu sûr que le fichier est au bon endroit ?
 
Pour insérer une vidéo, ça se corse. Qt ne possède pas de moyen d'afficher une vidéo. La classe QMovie est destinée à afficher une image animée (ie : gif ou mng). On a un peu abordé la discussion ici : http://prog.qt.free.fr/viewtopic.php?t=825.
 
Si tu veux plus d'infos, il nous faut plus de détails...

Reply

Marsh Posté le 29-05-2005 à 09:55:23    

Merci beaucoup, effectiviement pour l'image ça marche très bien c'est chouette..
Pour la vidéo elle est au format GIF... j'ai essayé la même méthode du coup mais mon code est bidon:
QString terminaison = ".gif";
 QString film = motATrouver+terminaison;
 FilmAAfficher.load(film);
 image->setPixmap(FilmAAfficher);
 
Le problème en plus c'est que je veux afficher un film dont le nom correspond au motATrouver (c'est un pendu et je veux que si le mot est trouvé il affiche la vidéo en langue des signes...)
Par ex le motATrouver est violet, il doit m'afficher violet.gif...

Reply

Marsh Posté le 29-05-2005 à 19:22:31    

Maintenant tu dois te servir d'un QMovie et donc utiliser le membre setMovie() au lieu de setPixmap()

Reply

Marsh Posté le 29-05-2005 à 19:31:32    

ça ne marche pas pour deux raisons: il me dit que setMovie n'est pas membre de QButton et ensuite parce que pour définir le chemin d'une QPixMap sachant que je ne donnait pas le nom du fichier (qui varie) mais celui d'une variable j'utilisais load, mais ça ne marche pas pour QMovie...

Reply

Marsh Posté le 29-05-2005 à 19:42:02    

j'ajouterai même que mon erreur est mainenant:  
error LNK2001: unresolved external symbol "public: void __thiscall penduDialogImpl::setMovie(class QMovie)" (?setMovie@penduDialogImpl@@QAEXVQMovie@@@Z)
Ce qui vient surement de mon code donc je te le mets aussi:
        FilmAAfficher= motATrouver+terminaison;
 setMovie(FilmAAfficher);
 
Sachant que terminaison est le .gif... j'ai procédé comme ça parce que le film change àa chaque fois dc si je mets:
FilmAAfficher= "motATrouver.gif"; il ne trouvera rien étant donné que motATrouver.gif n'existe pas... Merci bcp à toi en tout cas...

Reply

Marsh Posté le 30-05-2005 à 21:13:46    

Salut,
 
Excuse moi, j'avais oublié que tu agissais sur un bouton et pas un label.
Du coup, la meilleure solution est sans doute dériver une classe de QPushButton qui posséderais un membre setMovie(QString fileName), et les fonctions play/pause/stop.
 
Tu as 2 façons de lire ton QMovie.
Tu peux, lorsque tu le crée, le mettre en pause. Ensuite tu déclares un timer à la vitesse que tu veux, et à chaque appel du slot associé, que tu auras défini dans ta classe, appeler la méthode QPushButton::setPixmap() avec le pixmap que tu tireras de QMovie::framePixmap(). Ensuite tu avances d'une étape avec QMovie::step().
 
Autre façon, tu peux jouer avec les QMovie::connect*(). Cette façon est décrite dans cet exemple : http://doc.trolltech.com/3.3/movies-example.html. C'est fait dans un QFrame, mais tu peux reprendre l'idée.
 
Amuse toi bien...

Reply

Marsh Posté le 20-02-2009 à 13:02:59    

Bonjour a tous et a toutes,
 
Je suis actuellement en plein développement d'une application et je suis en train de buter sur l'exécution de mon GIF.
En faite j'ai essayé deux choses:
 
- j'ai fait une boite de dialogue avec qtdesigner en faisant un label avec mon GIF en background mais lors de l'exécution il ne clignote pas mais je vois au moins l'image.
 
- J'ai aussi pensé et essayer de faire une ouverture via l'appuie sur un bouton mais la mon GIF ne se lance pas.
 
Si quelqu'un pourrait m'aider sa serait sympa.
 
Merci d'avance.

Reply

Marsh Posté le 23-02-2009 à 08:04:54    

damienboss a écrit :

Bonjour a tous et a toutes,
 
Je suis actuellement en plein développement d'une application et je suis en train de buter sur l'exécution de mon GIF.
En faite j'ai essayé deux choses:
 
- j'ai fait une boite de dialogue avec qtdesigner en faisant un label avec mon GIF en background mais lors de l'exécution il ne clignote pas mais je vois au moins l'image.
 
- J'ai aussi pensé et essayer de faire une ouverture via l'appuie sur un bouton mais la mon GIF ne se lance pas.
 
Si quelqu'un pourrait m'aider sa serait sympa.
 
Merci d'avance.


 
Si tu souhaites afficher un gif animé :
http://qt.developpez.com/faq/?page=qt4Gui#gif_anime

Reply

Marsh Posté le 23-02-2009 à 15:45:18    

Mon projet compile bien mais lors de l'appuis sur mon boutton le gif ne se declenche pas voici le code de mon bouton:
 
int SecondBoxImpl::on_pushButtonGoto1st_clicked(int argc, char ** argv)
{
    QApplication app(argc,argv);
    QLabel w;
 
    //On cree une video. Ici c'est un gif
    QMovie movie("/home/damien/Images/test3.gif" );
    //On l'associe a un label
    w.setMovie (&movie);
    //On lance la video
    movie.start ();
 
    w.show();
    return app.exec();
}
 
Es ce que tu pourrait m'aider?

Message cité 1 fois
Message édité par damienboss le 23-02-2009 à 15:48:09
Reply

Marsh Posté le 23-02-2009 à 15:45:18   

Reply

Marsh Posté le 24-02-2009 à 14:24:08    

damienboss a écrit :

Mon projet compile bien mais lors de l'appuis sur mon boutton le gif ne se declenche pas voici le code de mon bouton:
 
int SecondBoxImpl::on_pushButtonGoto1st_clicked(int argc, char ** argv)
{
    QApplication app(argc,argv);
    QLabel w;
 
    //On cree une video. Ici c'est un gif
    QMovie movie("/home/damien/Images/test3.gif" );
    //On l'associe a un label
    w.setMovie (&movie);
    //On lance la video
    movie.start ();
 
    w.show();
    return app.exec();
}
 
Es ce que tu pourrait m'aider?


 
 
J'ai pas de quoi tester, mais dans la FAQ, il indique d'avoir le plugin GIF compilé. C'est ton cas ?

Reply

Marsh Posté le 24-02-2009 à 14:38:43    

Oui Oui car quand je creer un nouveau projet en le mettant dans le main mon gif se lance bien et tous mais quand je le met sur le bouton rien ne s'execute.
 
En tous cas merci de te soucier de mon cas

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed