nargy | 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 :
- class Images: public QCanvasView
- {
- QCanvas* canvas;
- QCanvasSprite* src;
- QCanvasPixmapArray* srcpix; // contient une unique image source
- public:
- Images(QWidget* parent):
- QCanvasView(parent)
- {
- canvas=new QCanvas(this);
- setCanvas(canvas);
- srcpix=new QCanvasPixmapArray(); // pas de source au début
- src=new QCanvasSprite(srcpix, canvas);
- }
- void setSrc(const QString& filename)
- {
- // garder l'ancienne image
- QCanvasPixmapArray* tmp=srcpix;
- // nouvelle image, chargée à partir d'un PNG
- srcpix=new QCanvasPixmapArray(filename);
- src->setSequence(srcpix);
- // supprimer ancienne image
- delete tmp;
- // tout essayer pour forcer à afficher
- src->move(0,0);
- src->show();
- canvas->setAllChanged();
- canvas->update();
- setFixedSize(src->width(),src->height());
- // debug, qui indique que l'image a la bonne taille, donc s'est chargée
- printf("%dx%d\n",src->width(),src->height());
- } // raté, mon canvasview reste plus blanc que blanc
- // même mettre ne background ne marche pas
- void setDest(const QString& filename)
- {
- QImage img(filename); // charger image (ça c'est ok)
- // mettre en background
- canvas->setBackgroundPixmap(QPixmap(img));
- setFixedSize(img.size()); // bonne taille, indique que chargement ok
- canvas->update();
- } // raté aussi, mon canvasview reste plus blanc que blanc
- };
|
Quelqu'un a-t-il déjà utilisé les canvas avec Qt3 ? Message édité par nargy le 14-04-2006 à 16:56:22
|