Bonjour tout le monde,
Je réalise une application avec Qt dans le cadre dans stage pour réaliser mon mémoire et je bloque depuis pas mal de temps sur un problème lié à mon interface graphique. Cette appli est destiné à des appareils mobiles.
Peut-être quelqu'un d'entre vous a déjà rencontré ce problème, je vous remercie d'avance si vous avez une idée pour le solutionner (j'ai parcouru nombre de tutoriaux / pages web sur le sujet et je ne trouve pas de solution).
Je m'explique, j'ai une page (FrmAccueil) qui affiche (appeler par le main) en premier lieu quatre boutons qui vont déclencher l'apparition d'une deuxième fenêtre (FrmReference), tout en fermant la première. Cette deuxième fenêtre est personnalisée selon le bouton choisi précédemment.
Le problème que j'ai est tout bête, cette deuxième fenêtre (FrmReference) s'affiche deux fois !!!
Voici mon main.cpp
Le fichier FrmAccueil.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 #include "FrmAccueil.h" #include "FrmReference.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); FrmAccueil 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 #ifndef FRMACCUEIL_H #define FRMACCUEIL_H #include <...> namespace Ui { class FrmAccueil; } class FrmAccueil : public QWidget { Q_OBJECT private slots: void on_butNivellement_clicked(); void on_butEcartometrie_clicked(); void on_butTilt_clicked(); public: explicit FrmAccueil(QWidget *parent = 0); ~FrmAccueil(); private: Ui::FrmAccueil *ui; }; #endif // FRMACCUEIL_H
Le fichier FrmAccueil.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 #include "FrmAccueil.h" #include "ui_FrmAccueil.h" #include "FrmReference.h" FrmAccueil::FrmAccueil(QWidget *parent) : QWidget(parent), ui(new Ui::FrmAccueil) { ui->setupUi(this); connect(ui->butQuitter, SIGNAL(clicked()), qApp, SLOT(quit())); connect(ui->butNivellement, SIGNAL(clicked()), this, SLOT(on_butNivellement_clicked())); connect(ui->butEcartometrie, SIGNAL(clicked()), this, SLOT(on_butEcartometrie_clicked())); connect(ui->butTilt, SIGNAL(clicked()), this, SLOT(on_butTilt_clicked())); } FrmAccueil::~FrmAccueil() { delete ui; } void FrmAccueil::on_butNivellement_clicked() { hide(); FrmReference *ref = new FrmReference(); ref->refNivellement(); ref->show(); } void FrmAccueil::on_butEcartometrie_clicked() { hide(); FrmReference *ref = new FrmReference(); ref->refEcartometrie(); ref->show(); } void FrmAccueil::on_butTilt_clicked() { hide(); FrmReference *ref = new FrmReference(); ref->refTilt(); ref->show(); }
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 Le fichier FrmReference.h #ifndef FRMREFERENCE_H #define FRMREFERENCE_H #include <...> namespace Ui { class FrmReference; } class FrmReference : public QMainWindow { Q_OBJECT private slots: void choisirFichier(); public: explicit FrmReference(QMainWindow *parent = 0); ~FrmReference(); void refNivellement(); void refEcartometrie(); void refTilt(); private: Ui::FrmReference *ui; }; #endif // FRMREFERENCE_H
et enfin le fichier FrmReference.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 #include "FrmReference.h" #include "ui_FrmReference.h" FrmReference::FrmReference(QMainWindow *parent) : QMainWindow(parent), ui(new Ui::FrmReference) { ui->setupUi(this); connect(ui->butFichiers, SIGNAL(clicked()), this, SLOT(choisirFichier())); } FrmReference::~FrmReference() { delete ui; }
Merci encore pour votre aide...
Partager