IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Imprimer un graphique


Sujet :

Qt

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 53
    Points : 88
    Points
    88
    Par défaut Imprimer un graphique
    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.

  2. #2
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 53
    Points : 88
    Points
    88
    Par défaut
    J'ai trouvé la solution si cela intéresse quelqu'un :

    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
    void Graphe::imprimer()
    {
         QPrinter *p = new QPrinter(QPrinter::HighResolution);
         QPrintDialog *print = new QPrintDialog(p,this);
     
     
         if(print->exec()==QPrintDialog::Accepted)
         {
              QPainter painter;
              painter.begin(p);
              double xscale = p->pageRect().width() / double(myPlot.width());
              double yscale = p->pageRect().height() / double(myPlot.height());
              double scale = qMin(xscale, yscale);
              painter.scale(scale, scale);
     
     
              myPlot.render(&painter);
         }
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Imprimer le graphique en caml-light
    Par Cramer dans le forum Caml
    Réponses: 5
    Dernier message: 21/11/2009, 16h21
  2. Imprimer des graphiques
    Par Pierre78 dans le forum C++Builder
    Réponses: 1
    Dernier message: 13/06/2007, 15h26
  3. Imprimer un graphique de type Graphics
    Par edenyorke dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 11/12/2006, 15h41
  4. Imprimer un graphique présent dans un formulaire
    Par mathilde50 dans le forum IHM
    Réponses: 2
    Dernier message: 27/11/2006, 16h07
  5. Imprimer un graphique
    Par pianpif dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 17/07/2006, 15h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo