Bonjour à tous,

J'ai un petit problème, je dois gérer en C++ (avec Qt Creator) une impression de graphique.
Je suis arrivé à lancer une impression d’image avec le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
void Graphe::imprimer()
{
 
    QImage *img = new QImage();
 
      //J'AI BESOIN DE CONVERTIR UN LAYOUT EN IMAGE
 
 
    QPrinter *p = new QPrinter(QPrinter::HighResolution);
    QPrintDialog *print = new QPrintDialog(p,this);
 
 
    if(print->exec()==QPrintDialog::Accepted)
    {
        QPainter painter(p);
        QRect rect = painter.viewport();
        QSize size = img->size();
        size.scale(rect.size(), Qt::KeepAspectRatio);
        painter.setViewport(rect.x(), rect.y(), size.width(), size.height());
        painter.setWindow(img->rect());
        painter.drawImage(0,0,*img);
 
 
    }
}
Ma fenêtre est composée de
• QHBoxLayout *mainLayout //fenêtre entière
o QwtPlot myPlot //graphique
 Liste de QwtPlotCurve *curve //courbes

Je cherche donc soit à lancer une impression de mon mainLayout ou du myPlot, soit convertir ou la courbe en QImage pour pouvoir l’imprimmer.


Si quelqu'un a des astuces je suis preneur



Merci.