Bonjour, comme le dit le titre, je cherche comment imprimer en Qt.

- Soit vous savez comment on fait et vous postez une réponse expliquant comment faire(mais ça m' étonnerais)

- Soit vous savez (ou pas) comment on fait mais c' est BEACOUP trop long à expliquer sur un forum et vous envoyez un lien d' un tuto qui l' explique(hé oui je n' en ai pas trouvé!!)

- Soit vous savez comment on fait mais vous ne voulez pas l'expliquer, donc vous me donnez directement le code à taper dans mon projet(ça m' étonnerais aussi)

Si vous choisissez tout de même la dernière solution, voici mon projet(éditeur de texte):

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
/*main.cpp*/
 
#include <QApplication>
#include <QtGui>
#include "FenPrincipale.h"
 
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
 
    QString locale = QLocale::system().name();
    QTranslator translator;
    translator.load(QString("qt_") + locale, QLibraryInfo::location(QLibraryInfo::TranslationsPath));
    app.installTranslator(&translator);
 
    FenPrincipale fenetre;
    fenetre.show();
 
    return app.exec();
}
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
/*FenPrincipale.cpp*/
#include <stdlib.h>
#include <stdio.h>
#include <QFile>
#include "FenPrincipale.h"
 
FenPrincipale::FenPrincipale()
{
 
    QMenu *menuFichier = menuBar()->addMenu("&Fichier");
    ouvrir = new QAction("&Ouvrir...", this);
    menuFichier->addAction(ouvrir);
    enreg = new QAction("&Enregistrer sous...", this);
    menuFichier->addAction(enreg);
    enreg->setIcon(QIcon("101.png"));
    Imprimer = new QAction("&Imprimer", this);
    menuFichier->addAction(Imprimer);
    Imprimer->setIcon(QIcon("37.png"));
    QAction *actionQuitter = new QAction("&Quitter", this);
    menuFichier->addAction(actionQuitter);
    actionQuitter->setShortcut(QKeySequence("Ctrl+Q"));
    actionQuitter->setIcon(QIcon("quitter.png"));
 
 
    QMenu *menuEdition = menuBar()->addMenu("&Edition");
    choixPolice2 = new QAction("&Police...", this);
    menuEdition->addAction(choixPolice2);
 
 
    QMenu *menuAffichage = menuBar()->addMenu("&Affichage");
    QAction *afficherBE = new QAction("&Barre d' état", this);
    afficherBE->setCheckable(true);
    afficherBE->setChecked(true);
    menuAffichage->addAction(afficherBE);
 
    QToolBar *toolBarFichier = addToolBar("Fichier");
    toolBarFichier->addAction(actionQuitter);
    toolBarFichier->addAction(enreg);
 
    toolBarFichier->addSeparator();
 
    QFontComboBox *choixPolice = new QFontComboBox;
    toolBarFichier->addWidget(choixPolice);
    choixPolice->setEditable(false);
 
    QStatusBar *barreEtat = statusBar();
    barreEtat->showMessage("Prêt");
    actionQuitter->setStatusTip("Quitte le programme");
    enreg->setStatusTip("Enregistré!");
 
    QMdiArea *zoneCentrale = new QMdiArea;
 
    zoneTexte1 = new QTextEdit;
 
 
    QMdiSubWindow *sousFenetre1 = zoneCentrale->addSubWindow(zoneTexte1);
 
    zoneCentrale->setViewMode(QMdiArea::TabbedView);
 
    QObject::connect(actionQuitter, SIGNAL(triggered()), qApp, SLOT(quit()));
    QObject::connect(choixPolice2, SIGNAL(triggered()), this, SLOT(ouvrirDialogue()));
    QObject::connect(choixPolice, SIGNAL(currentFontChanged(QFont)), zoneTexte1, SLOT(setCurrentFont(QFont)));
    QObject::connect(enreg, SIGNAL(triggered()), this, SLOT(Save()));
    QObject::connect(afficherBE, SIGNAL(stateChanged(int)), barreEtat, SLOT(hide()));
    QObject::connect(ouvrir, SIGNAL(triggered()), this, SLOT(Open()));
    QObject::connect(Imprimer, SIGNAL(triggered()), zoneTexte1, SLOT(Print()));
 
 
    setCentralWidget(zoneCentrale);
 
 
 
}
void FenPrincipale::ouvrirDialogue()
{
    bool ok = false;
 
    QFont police = QFontDialog::getFont(&ok, zoneTexte1->font(), this, "Choisissez une police");
 
    if (ok)
    {
        zoneTexte1->setFont(police);
    }
}
void FenPrincipale::Save()
{
    QString fichier = QFileDialog::getSaveFileName(this, "Enregistrer un fichier", ".","Texte(*.txt)");
    if (fichier.isEmpty()) return;
    QFile file(fichier);
 
    if (file.open(QFile::WriteOnly | QFile::Truncate)) // si l'ouverture s'est bien passée
    {
        // permet d'écrire dans le fichier
        QTextStream out(&file);
        out << zoneTexte1->toPlainText();
        file.close();
    }
 
    else
        QMessageBox::warning(this,"Erreur","Une erreur s'est prosuite lors de l'ouverture du fichier");
 
}
 
void FenPrincipale::Open()
{
    QString fichier = QFileDialog::getOpenFileName(this, "Ouvrir un fichier", QString(), "Texte (*.txt)");
 
    QFile file(fichier);
    if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
    return;
 
    zoneTexte1->setText(QString(file.readAll()));
 
}
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
26
27
28
29
30
31
32
33
34
35
36
37
38
/*FenPrincipale.h*/
 
#ifndef HEADER_FENPRINCIPALE
#define HEADER_FENPRINCIPALE
 
#include <QtGui>
#include <stdlib.h>
#include <stdio.h>
#include <fstream>
#include <QFile>
 
 
class FenPrincipale : public QMainWindow
{
	Q_OBJECT
 
	public:
		FenPrincipale();
 
 
    public slots:
        void ouvrirDialogue();
        void Save();
        void Open();
 
 
	private:
    QAction *choixPolice2;
    QAction *ouvrir;
    QAction *enreg;
    QAction *Imprimer;
    QString *filename;
    QTextEdit *zoneTexte1;
 
};
 
 
#endif
Voila, comme vous pouvez le voir, j'ai connecté 'Imprimer' avec 'Print' mais je n'ai pas encore crée cette fonction car j' ignore ce que je dois mettre à l'intérieur...

Mais svp, choisissez une des 3 solutions car j'ai vraiment envie de savoir comment on imprime en Qt (ou autre)...

En espérant des réponses...