Hello !!!
Excusez-moi de vous déranger, j'avais une petite question.
Voilà, j'essaie de créer une fenêtre qui contienne plusieurs sous-fenêtres (avec la commande QMdi) ayant la propriété de QWidget.
Le problème est que je n’arrive pas à afficher dans ces sous-fenêtres plus de un bouton.
Comment faire pour en ajouter un deuxième*(ou d’autres choses) ?
Voilà mon code :
Fenetre.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 #ifndef MAFENETRE_H #define MAFENETRE_H #include <QApplication> #include <QWidget> #include <QPushButton> #include <QTextEdit> #include <QFile> #include <QString> #include <QTextStream> #include <QFileDialog> #include <QtGui> class MaFenetre : public QMainWindow { public : MaFenetre(); }; #endif // MAFENETRE_H
Fenetre.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 #include "MaFenetre.h" MaFenetre::MaFenetre() { setFixedSize(500, 350); QMdiArea *zoneCentrale = new QMdiArea; QPushButton *Open = new QPushButton (ouvrir, this); QMdiSubWindow *sousFenetre1 = zoneCentrale->addSubWindow(Open); setCentralWidget(zoneCentrale); }
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 #include <QApplication> #include <QTextEdit> #include <QFile> #include <QString> #include <QTextStream> #include <QtGui> #include "MaFenetre.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); MaFenetre fenetre; fenetre.show(); return app.exec(); }
En plus j’aimerais beaucoup réussir à ouvrir un fichier en .txt dans l’une de ces sous-fenêtres. Et j’ai un peu de difficultés pour y arriver.
Voilà mes modifications de la page MaFenetre.cpp :
Fenetre.cpp
Et de 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 #include "MaFenetre.h" MaFenetre::MaFenetre() { setFixedSize(500, 350); QMdiArea *zoneCentrale = new QMdiArea; QPushButton *Open = new QPushButton (ouvrir, this); QMdiSubWindow *sousFenetre1 = zoneCentrale->addSubWindow(Open); QObject::connect(Open, SIGNAL(clicked()), &sousFenetre1, SLOT(ouvrirFichier())); setCentralWidget(zoneCentrale); } void MaFenetre :: ouvrirFichier() { f = new QFile("donnees.txt"); f.open(QIODevice::Text | QIODevice::ReadOnly); contenu = new QString(f.readAll()); f.close(); }
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 #ifndef MAFENETRE_H #define MAFENETRE_H #include <QApplication> #include <QWidget> #include <QPushButton> #include <QTextEdit> #include <QFile> #include <QString> #include <QTextStream> #include <QFileDialog> #include <QtGui> class MaFenetre : public QMainWindow { public : MaFenetre(); Public slots : void ouvrirFichier(); private : std::string contenu; QFile f; }; #endif // MAFENETRE_H
Mais ça ne marche malheureusement pas. Donc si quelqu'un sait comment faire, ça m'intéresse beaucoup.
Merci d'avance !!!
Partager