Bonsoir à tous et à toutes,

J’avais une petite question en Qt.
Voilà*: je souhaite créer une QComboBox qui ouvre automatiquement le fichier .txt que l’on sélectionne. Le programme fait donc apparaitre une liste déroulante contenant 4 noms de fichier (fichierA, fichierB, fichierC, fichierD) ainsi qu’un QPushButton que l’on actionne une fois que l’on a sélectionné le fichier que l’on souhaite ouvrir (respectivement fichierA.txt, etc.).

J’ai donc écrit le programme suivant*:

main.cpp

#include <QApplication>
#include <QtGui>
#include "MaFenetre.h"


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
 
    MaFenetre fenetre;
    fenetre.show();
 
    return app.exec();
}





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
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
#include "MaFenetre.h"
MaFenetre::MaFenetre() : QWidget()
{
    setFixedSize(300, 150);
    // Construction du bouton
    m_bouton = new QPushButton("Ouvrir", this);
    m_bouton->setFont(QFont("Comic Sans MS", 14));
    m_bouton->setCursor(Qt::PointingHandCursor);
    m_bouton->move(120, 70);
 
    box = new QComboBox(this);
    box->addItem("fichierA");
    box->addItem("fichierB");
    box->addItem("fichierC");
    box->addItem("fichierD");
    box->move(30, 20);
 
 
    QObject::connect(box, SIGNAL(currentIndexChanged(QString)), this, SLOT(ouvrirFichier()));
 
  }
 
 
 
 
void MaFenetre :: ouvrirFichier()
{
 
    QTextEdit zoneTexte;
    QString texte;
    zoneTexte.setGeometry(100,100,400,200);
    zoneTexte.setReadOnly(true);
 
 
 
for (int i=0; i<box->count(); ++i) {
 
    QFile fichier("setCurrentItem(i).txt");
 
    if(fichier.open(QIODevice::ReadOnly | QIODevice::Text))
    {
         texte = fichier.readAll();
         fichier.close();
    }
    else texte = "Impossible d'ouvrir le fichier !";
 
    zoneTexte.setText(texte);
    zoneTexte.show();
}
}



MaFenetre.h


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
#ifndef DEF_MAFENETRE
#define DEF_MAFENETRE
#include <QApplication>
#include <QWidget>
#include <QPushButton>
#include <QTextEdit>   
#include <QFile>       
#include <QString>     
#include <QTextStream>
#include <QFileDialog>
#include <QtGui>
class MaFenetre : public QWidget // On hérite de QWidget 
{
    public:
    MaFenetre();
    private:
    QPushButton *m_bouton;
    QComboBox *box;
 
 
    public slots:
    void ouvrirFichier();
 
 
 
};
#endif



Lorsque je lance ce programme, il n'y a pas d'erreurs mais ça ne marche pas. La page Fenetre.cpp est sans doute fausse mais je ne sais pas comment faire.

Si l’un (l’une) de vous a la solution à ce problème, ça m’intéresse beaucoup.
Merci d’avance*!!!

PS*: soyez indulgents, je débute en programmation…*