Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1275 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++/Qt/résolu] afficher avec un QCanvas, help!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++/Qt/résolu] afficher avec un QCanvas, help!

n°1346017
nargy
Posté le 13-04-2006 à 14:01:19  profilanswer
 

Salut :)
 
Je galère avec les canvas. J'ai beau retourner la doc, examiner l'exemple fournit, mon sprite ne s'affiche pas!!
 
J'ai deux images, source et destination (pour les curieux, c'est pour faire un morphing). Je souhaite les afficher dans un canvas, ainsi que d'autres figures géométriques.
 
un peu de code:

Code :
  1. class Images: public QCanvasView
  2. {
  3.   QCanvas* canvas;
  4.   QCanvasSprite* src;
  5.   QCanvasPixmapArray* srcpix; // contient une unique image source
  6.   public:
  7.   Images(QWidget* parent):
  8.     QCanvasView(parent)
  9.   {
  10.     canvas=new QCanvas(this);
  11.     setCanvas(canvas);
  12.     srcpix=new QCanvasPixmapArray(); // pas de source au début
  13.     src=new QCanvasSprite(srcpix, canvas);
  14.   }
  15.   void setSrc(const QString& filename)
  16.   {
  17.     // garder l'ancienne image
  18.     QCanvasPixmapArray* tmp=srcpix;
  19.     // nouvelle image, chargée à partir d'un PNG
  20.     srcpix=new QCanvasPixmapArray(filename);
  21.     src->setSequence(srcpix);
  22.     // supprimer ancienne image
  23.     delete tmp;
  24.     // tout essayer pour forcer à afficher
  25.     src->move(0,0);
  26.     src->show();
  27.     canvas->setAllChanged();
  28.     canvas->update();
  29.     setFixedSize(src->width(),src->height());
  30.     // debug, qui indique que l'image a la bonne taille, donc s'est chargée
  31.     printf("%dx%d\n",src->width(),src->height());
  32.   } // raté, mon canvasview reste plus blanc que blanc
  33.   // même mettre ne background ne marche pas
  34.   void setDest(const QString& filename)
  35.   {
  36.     QImage img(filename); // charger image (ça c'est ok)
  37.     // mettre en background
  38.     canvas->setBackgroundPixmap(QPixmap(img));
  39.     setFixedSize(img.size()); // bonne taille, indique que chargement ok
  40.     canvas->update();
  41.   } // raté aussi, mon canvasview reste plus blanc que blanc
  42. };


 
Quelqu'un a-t-il déjà utilisé les canvas avec Qt3 ?


Message édité par nargy le 14-04-2006 à 16:56:22
mood
Publicité
Posté le 13-04-2006 à 14:01:19  profilanswer
 

n°1346334
nargy
Posté le 13-04-2006 à 17:50:37  profilanswer
 

[:baobab] upinette

n°1346908
Riot
Buy me a riot
Posté le 14-04-2006 à 14:44:28  profilanswer
 

Donne une taille à ton canvas, et essaies un update sur ton canvasview.

n°1347024
nargy
Posté le 14-04-2006 à 16:42:47  profilanswer
 

trop top!
erreur vraiment bête, j'ai trop l'habitude des widgets, forcément les canvas c'est plus pareil.
Merci beaucoup, ça marche.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++/Qt/résolu] afficher avec un QCanvas, help!

 

Sujets relatifs
[résolu][php] Edition online de pageIncompatibilités frameworks .NET 1 et 2 sur IIS ? [pt-e resolu]
[Resolu] Comment poster sans submit?[RESOLU]Force Download gros fichier
erreur (de débutant) dans un batch windows [Résolu][résolu]Probléme de comparaison de checkbox
Afficher une image selon requette sql[Résolu] Relation entre table sans intégrité référentielle
[RESOLU]submit une textarea ??Afficher la cellule dans 1 textbox par intersection ligne & colonne
Plus de sujets relatifs à : [C++/Qt/résolu] afficher avec un QCanvas, help!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR