Je suis sur Qt, et je voudrait créer un editeur de texte tout simple. mais le soucis, c'est que a chque fois que je clique sur Ouvrir, rien ne se passe voila merci de m'aider voila mes code :
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
#include "FenPrincipale.h"
 
 
FenPrincipale::FenPrincipale()
{
    menuFichier = menuBar()->addMenu("&Fichier");
 
    actionNouveau = menuFichier->addAction("&Nouveau");
    actionNouveau->setShortcut(QKeySequence("Ctrl+N"));
    actionNouveau->setIcon(QIcon("image/nouveau.png"));
    connect(actionNouveau, SIGNAL(triggered()), this, SLOT(NouveauOnglet()));
 
    actionOuvrir = menuFichier->addAction("&Ouvrir");
    actionOuvrir->setShortcut(QKeySequence("Ctrl+O"));
    actionOuvrir->setIcon(QIcon("image/open.png"));
    connect(actionOuvrir, SIGNAL(triggered()), this, SLOT(Open(int)));
 
    actionEnregistrer = menuFichier->addAction("&Sauver");
    actionEnregistrer->setShortcut(QKeySequence("Ctrl+S"));
    actionEnregistrer->setIcon(QIcon("image/save.png"));
    connect(actionEnregistrer, SIGNAL(triggered()), this, SLOT(Sauver()));
 
    actionQuitter = menuFichier->addAction("&Quitter");
    actionQuitter->setShortcut(QKeySequence("Ctrl+Q"));
    actionQuitter->setIcon(QIcon("image/quitter.png"));
    connect(actionQuitter, SIGNAL(triggered()), qApp, SLOT(quit()));
 
 
    menuEdition = menuBar()->addMenu("&Edition");
 
 
 
    actionItalique = menuEdition->addAction("&Italique");
    actionItalique->setCheckable(true);
    actionItalique->setIcon(QIcon("image/italique.png"));
    actionItalique->setShortcut(QKeySequence("Ctrl+I"));
 
 
 
    actionSouligner = menuEdition->addAction("&Souligner");
    actionSouligner->setCheckable(true);
    actionSouligner->setIcon(QIcon("image/souligner.png"));
    actionSouligner->setShortcut(QKeySequence("Ctrl+U"));
    connect(actionSouligner, SIGNAL(triggered(bool)), zoneTexte, SLOT(setFontUnderline(bool)));
 
 
    //Widget Centrale
    zoneCentrale = new QMdiArea(this);
    zoneCentrale->setViewMode(QMdiArea::TabbedView);
    setCentralWidget(zoneCentrale);
}
 
void FenPrincipale::NouveauOnglet()
{
    QTextEdit *zoneTexte = new QTextEdit(this);
    QMdiSubWindow *sousFenetre = zoneCentrale->addSubWindow(zoneTexte);
    sousFenetre->show();
 
    connect(actionItalique, SIGNAL(triggered(bool)), zoneTexte, SLOT(setFontItalic(bool)));
    connect(actionSouligner, SIGNAL(triggered(bool)), zoneTexte, SLOT(setFontUnderline(bool)));
}
 
 
void FenPrincipale::Sauver()
{
    QString nomFichier = QFileDialog::getSaveFileName(this,
                                                    "Enregistrer un fichier",
                                                    "",
                                                    "Fichier Texte(*.txt)");
 
 
    QFile fichier(nomFichier);
    if(!fichier.open(QIODevice::WriteOnly | QIODevice::Text)) return;
 
    QTextEdit * leTextEditCourant = qobject_cast<QTextEdit *>(zoneCentrale->currentSubWindow()->widget());
 
    fichier.write(QByteArray(leTextEditCourant->toPlainText().toAscii()));
}
 
void FenPrincipale::Open(int FirstzoneTexte)
{
    QString s_file = QFileDialog::getOpenFileName(this, "Ouverture un fichier", QString(), "Texte (*.txt)");
    QFile file(s_file);
     if (!file.open(QIODevice::ReadOnly))
         return;
 
     zoneTexte->setText(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
39
40
41
42
43
44
45
46
47
48
49
#ifndef HEADER_FENPRINCIPALE
#define HEADER_FENPRINCIPALE
 
#include <QtGui>
 
 
 
class FenPrincipale : public QMainWindow
{
 
    Q_OBJECT
 
	public:
		FenPrincipale();
 
	private:
        QAction *actionNouveau;
        QAction *actionEnregistrer;
        QAction *actionQuitter;
        QMdiArea *zoneCentrale;
        QTextEdit *zoneTexte;
        QAction *actionSouligner;
        QAction *actionItalique;
        QMenu *menuFichier;
        QMenu *menuEdition;
        QAction *actionOuvrir;
 
 
 
 
 
 
    private slots:
        void NouveauOnglet();
        void Sauver();
 
 
 
 
    public slots:
        void Open(int FirstzoneTexte);
 
 
 
 
};
 
 
#endif