Bonjour à tous,
J'ai un projet de stage à effectuer et j'ai décidé de me tourner vers et d'apprendre Qt (en C++) pour ce faire (notez donc que je suis novice en la matière)
Je vous explique mon problème:
Je souhaite créer une barre d'outils dans ma fenetre principale, j'arrive à créer un outil dans cette boite, mais dès que j'en ajoute au moins un, le programme compile mais plante à l'exécution (le fameux et célèbre "ne pas envoyer" :p )
Voici mon code:
le .h
Le .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 #include <QApplication> #include <QMenu> #include <QMenuBar> #include <QToolBar> #include <QWidget> // inheriting class's header file class FenetrePrincipale : public QWidget { public: FenetrePrincipale(); ~FenetrePrincipale(); private: QMenuBar *menubar; QToolBar *outilbar; QMenu *fichier; QMenu *edition; QMenu *recherche; QMenu *aide; QAction *nouveau; //QAction *ouvrir; //QAction *enregistrer; };
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 #include "fenetreprincipale.h" // class's header file FenetrePrincipale::FenetrePrincipale() { setFixedSize(900, 550); // Création du menuBar et toolBar menubar = new QMenuBar(this); outilbar = new QToolBar(this); // Création d'un menu déroulant "Fichier, edition, ..." fichier = new QMenu("Fichier", this); edition = new QMenu("Edition", this); recherche = new QMenu("Recherche", this); aide = new QMenu("Aide", this); //actions de la toolBar nouveau = new QAction("nouveau", this); // et ajout du menu fichier à la barre de menu principale menubar->addMenu(fichier); menubar->addMenu(edition); menubar->addMenu(recherche); menubar->addMenu(aide); //création d'action pour la barre d'outil outilbar->addAction(nouveau); //outilbar->addAction(ouvrir); //outilbar->addAction(enregistrer); //déplacement de la barre d'outil en dessous de la barre de menu outilbar->move(0, 20); // Ajout d'un item "Ouvrir" dans fichier fichier->addAction("Nouveau"); fichier->addAction("Ouvrir", this, SLOT(ouvirFichier())); fichier->addAction("Enregister"); fichier->addAction("Enregister sous..."); // Ajout d'un item "Quitter" que l'on connecte au slot "close" de la mainWindows fichier->addAction( "Fermer",this,SLOT(close()) ); } FenetrePrincipale::~FenetrePrincipale() { }
et enfin le main
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #include <QApplication> #include "FenetrePrincipale.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); FenetrePrincipale fenetre; fenetre.show(); return app.exec(); }
Je précise que je tape le code sous DevC++ et que je compile avec la console de Qt (version OpenSource)
Merci d'avance pour vos futurs éclairissements
Partager