Bonsoir,
Je viens d´installer Qt creator et j´ai essaye d´ecrire des codes qui me permettraient de selectioner un fichier texte dans un dossier et en suite de l´ouvrir en mode lecture. J´ai divises mes codes en trois fichiers: mafenetre.h; mafenetre.cpp et main.cpp.
J´aimerais lire a partir de la fenetre le contenu d´un fichier texte choisit au hasard dans un dossier . Helas j´obtiens apres deboggage comme reponse du programme l´information suivante:
L´ouverture du fichier en mode lecture marche, mais le contenu du fichier texte ne s´affiche pas dans la fenetre.Tout va bien,la lecture de C:/Users/jiodatsinga/Desktop/QT_SDK/coordonnes.txt a ete une reussite
Pourriez-vous s´il vous plaît me filer un coup de main.
Merci d´avance.
mafenetre.h
mafenetre.cpp:
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 #ifndef MAFENETRE_H #define MAFENETRE_H #include <QtGui> class mafenetre : public QWidget // On herite de QWidget { Q_OBJECT public: mafenetre(); public slots: void ouvrirDialogue(); private: QPushButton *boutonDialogue; }; #endif // MAFENETRE_H
main.cpp:
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 #include "mafenetre.h" mafenetre::mafenetre() : QWidget() { setFixedSize(230, 120); boutonDialogue = new QPushButton("Rechercher et ouvrir un fichier", this); boutonDialogue->move(40,50); QObject::connect(boutonDialogue, SIGNAL(clicked()), this, SLOT(ouvrirDialogue())); } void mafenetre::ouvrirDialogue() { QString message; QString myOpenFile = QFileDialog::getOpenFileName(this, tr("Choisir et Ouvrir un fichier"), tr("C:\\"), tr("All Files (*.*)")); QFile file(myOpenFile); if(myOpenFile.isEmpty()) { QMessageBox::warning(this, "ERREUR", "Le fichier n´a pas ete selectionne !"); return; } else { if(!file.exists()) { message = "Le fichier " + myOpenFile + " n´existe pas"; QMessageBox::critical(this, "Info", "le fichier" + myOpenFile + "n´existe pas"); } else { bool resultat = file.open(QIODevice::ReadOnly | QIODevice::Text) ; if(!resultat) { message = "Echec de l´ouverture en mode lecture du fichier" + myOpenFile; QMessageBox::critical(this, "ERREUR", message); } else { QTextStream flux(&file); QString line; while(! flux.atEnd()) { // Lecture Ligne par Ligne line = flux.readLine() ; //traitement de la ligne file.close(); } message = "Tout va bien, la lecture de" + myOpenFile + "a ete une reussite"; QMessageBox::information(this, "SUCCES", message); } } } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include <QApplication> #include "mafenetre.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); mafenetre fenetre; fenetre.show(); return app.exec(); }
Partager