[QT/Visual C++] Comment lier des images à son programme ?

Comment lier des images à son programme ? [QT/Visual C++] - C++ - Programmation

Marsh Posté le 21-12-2004 à 15:39:10    

Hello,
 
J'espère que le titre aura quand même attiré un peu de monde.
 
Je fais une application avec un trombinoscope, à terme, on doit récupérer des nom, prénoms et chemins des images dans une base MySQL mais pour le moment, j'utilise mes Pixmap "à la main". C'est à dire que j'ai mes images dans un sous rép du projet et que je vais les chercher à cet emplacement.
 
http://img149.exs.cx/img149/7871/image26fn.th.png
 
Après j'importe mon projet sous Visual, je compile et... il ne reste que les noms en dessous des photos, j'ai essayé d'inclure les photos au projet mais ça ne marche pas, on dirait qu'il n'y a pas de chemin de spécifié dans le code sous VS.
 

Code :
  1. void Form1::languageChange()
  2. {
  3.     setCaption( tr( "Form1" ) );
  4.     textLabel1->setText( tr( "textLabel1" ) );
  5.     textLabel2->setText( tr( "textLabel2" ) );
  6.     textLabel3->setText( tr( "textLabel3" ) );
  7.     textLabel4->setText( tr( "textLabel4" ) );
  8.     table1->horizontalHeader()->setLabel( 0, tr( "NOM" ) );
  9.     table1->horizontalHeader()->setLabel( 1, tr( "PRENOM" ) );
  10.     table1->horizontalHeader()->setLabel( 2, tr( "CLASSE" ) );
  11.     tabWidget2->changeTab( tab, tr( "Appel" ) );
  12.     iconView1->clear();
  13.     (void) new QIconViewItem( iconView1, tr( "ADJALA Hermann" ), QPixmap::fromMimeSource( "adjahla.jpg" ) );
  14.     (void) new QIconViewItem( iconView1, tr( "ALBRIQUE Albin" ), QPixmap::fromMimeSource( "albrique.jpg" ) );
  15.     (void) new QIconViewItem( iconView1, tr( "BEAUGNON Antoine" ), QPixmap::fromMimeSource( "beaugnon.jpg" ) );
  16.     (void) new QIconViewItem( iconView1, tr( "BENITO Anthony" ), QPixmap::fromMimeSource( "benito.jpg" ) );
  17.     (void) new QIconViewItem( iconView1, tr( "CARIGI Nicolas" ), QPixmap::fromMimeSource( "carigi.jpg" ) );
  18.     (void) new QIconViewItem( iconView1, tr( "EHRHART Julien" ), QPixmap::fromMimeSource( "ehrhart.jpg" ) );
  19.     tabWidget2->changeTab( tab_2, tr( "Trombinoscope" ) );
  20.     tabWidget2->changeTab( TabPage, tr( "Emploi du temps" ) );
  21. }


 
J'ai également essayé de mettre les photos à différents endroits, dont le répertoire debug, avec ou sans les sous rep, mais ça n'a rien changé.
 
 
Merci pour votre aide ! :hello:


Message édité par Master_Jul le 21-12-2004 à 15:42:47
Reply

Marsh Posté le 21-12-2004 à 15:39:10   

Reply

Marsh Posté le 21-12-2004 à 15:46:11    

Tes photos sont dans un répertoire et elles s'affichent pas c'est ça ? Faut donner le chemin vers ce répertoire, car il va pas deviner tout seul.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 21-12-2004 à 18:22:03    

Quand je les mets à la racine ça ne marche pas plus, ça le devrait pourtant, non ?

Reply

Marsh Posté le 21-12-2004 à 18:55:37    

tu peux utiliser l'utilitaire qembeded (fournit avec Qt) pour te simplifier la vie.
Cet utilitaire permet de creer un fichier header à partir d'images. Le header contenant alors les donnees des images.
Ensuite pour utiliser tes images tu n'as qu'a inclure le fichier header a ton projet et vogue la galere ...

Reply

Marsh Posté le 21-12-2004 à 19:01:55    

sinon, tu peux rajouter tes images à la mano dans ton fichier *.pro dans une sections IMAGES puis passer ton fichier *.pro à la moulinette qmake pour creer la collection d'image ...

Reply

Marsh Posté le 21-12-2004 à 23:58:52    

Hello mout_de_raisin,
 
J'ai trouvé /tools/qembed que j'ai essayé de compiler avec VS.NET, ça compile, en ligne de commande ça me met :
 
Usage:
        qembed [--images] files
 
Mais dès que j'essaie de lui passer quoi que ce soit en paramètre, il me fait planter le programme (erreur windows), avec ou sans le switch --images.
 
Sinon dans QT Designed, mes images sont bien dans project/Image collection mais je n'ai pas bien compris ce que tu m'as expliqué avec le qmake. Je suis en environnement Windows et j'utilise le plug in QT pour VS.NET qui ajoute une barre d'outils pour importer et compiler simplement un .pro.
 
C'est vrai que je suis peut-être un peu casse couille avec ce prob mais j'aimerais bien que ça marche, même si après, je dois compiler ça en environnement Linux avec QT Embedded. C'est pour un ordinateur embarqué à écran tactile.

Reply

Marsh Posté le 22-12-2004 à 10:34:58    

:bounce:


Message édité par Master_Jul le 22-12-2004 à 10:35:07
Reply

Marsh Posté le 22-12-2004 à 11:08:18    

Si tu dois par la suite aller chercher les photos quelque part faut pas essayer de les incorporer dans l'exe.
Essaye en spécifiant le chemin complet (pour voir), et simplement avec QPixmap( "adjahla.jpg" ) (sans le fromMimeSource).


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 22-12-2004 à 11:11:48    

Oui, je comprend bien qu'il faudra générer les QPixmap à la volée mais là c'est pour quelques tests.
 
Je suis bête ! Je viens d'essayer en mettant le jpg dans le répertoire de travail de mon projet et ça marche !
 
/monprojet/Debug/
   ^ici
 
Mais comment fonctionne l'exe du Debug pour le retrouver ? Je pensais qu'il fallait le mettre dans le répertoire Debug.


Message édité par Master_Jul le 22-12-2004 à 11:14:59
Reply

Marsh Posté le 22-12-2004 à 11:18:54    

Exécuté depuis Visual ce dernier change le répertoire courant. Tu peux modifier ton code pour rechercher dans le même endroit que l'emplacement de ton exe.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 22-12-2004 à 11:18:54   

Reply

Marsh Posté le 22-12-2004 à 11:28:44    

Il vient de se passer un truc, là en important le projet sous VS, il m'a créé une ressource image_collection et a aussi ajouté les images. Ca me donné un gros i_c.cpp avec les données des images en hexa et ça rendait le prog indépendant de mes fichiers. Ce qui n'était pas ce que je souhaite. J'ai supprimé ces ressources, remis les liens vers les images et ça a l'air de se passer correctement.
 
Bon, j'ai simplement supprimé les images du Image Collection sous QTD et ça a l'air bon, l'exe tout seul se débrouille bien aussi. Merci pour votre aide. :) Prochaine étape, et sûrement prochain topic, connexion avec la base MySQL sous environnement Linux.


Message édité par Master_Jul le 22-12-2004 à 11:46:01
Reply

Marsh Posté le 22-12-2004 à 14:09:26    

le truc avec qmake mal explique de ma part , c'est ce que tu as fait en mettant les images dans la collection et la creation du fichier contenant les datas.
 
Pour la connexion à MySQL tu vas etre decu si tu souhaites poser une question ... c'est ultra sismple!

Reply

Marsh Posté le 22-12-2004 à 14:36:35    

Le truc bizarre que j'ai vu en regardant en vitesse c'est qu'il ne me proposait pas le driver MYSQL quand je créé un objet (avec l'assistant de connexion), mais je vais regarder tout ça.

Reply

Marsh Posté le 22-12-2004 à 17:28:22    

ca depend si tu as inclus le driver mysql lors de la compil des sources

Reply

Sujets relatifs:

Leave a Replay

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