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

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

Marsh Posté le 13-04-2006 à 14:01:19    

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
Reply

Marsh Posté le 13-04-2006 à 14:01:19   

Reply

Marsh Posté le 13-04-2006 à 17:50:37    

[:baobab] upinette

Reply

Marsh Posté le 14-04-2006 à 14:44:28    

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

Reply

Marsh Posté le 14-04-2006 à 16:42:47    

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.

Reply

Sujets relatifs:

Leave a Replay

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