Un fichier par type de fenêtre
Bonjour à tous,
Voici une question de vrai débutant. Je me lance depuis peu dans Qt et comme je prévois d'ici un mois de commencer à recoder une grosse application réalisé en vbnet, je devance les problèmes.
Je souhaiterais couper au maximum la création de mon interface avec comme phylosophie: une interface particulière, une classe particulière. La question qui en découle est évidemment de savoir comment rassembler tout ce petit monde. :aie:
pour commencer premier problème, j'ai écris (ou réécris plutôt) une simple fenêtre avec un bouton, mais je souhaiterais également ajouter un menu créé au départ d'un autre fichier.
fenetre.h et fenetre.cpp sont ma fenêtre principal,
menu.h et menu.cpp décrivent mon menu
Le but ici, est de pouvoir afficher ma barre de menu en lançant l'instruction à partir de fenetre.cpp.
Je suppose qu'en premier lieu je dois importer menu.h dans fenetre.cpp. Pour le reste, je bloque. Quelqu'un à une idée? :ccool:
fenetre.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
#ifndef FENETRE_H
#define FENETRE_H
#include <QApplication>
#include <QWidget>
#include <QPushButton>
class FenPrincipal : public QWidget
{
public:
FenPrincipal();
private:
QPushButton *m_bouton;
};
#endif // FENETRE_H |
fenetre.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #include "fenetre.h"
FenPrincipal::FenPrincipal() : QWidget()
{
setFixedSize(300,150);
//construction du boutton
m_bouton = new QPushButton("test",this);
QPushButton et d'affecter une adresse au pointeur. le second parametre
m_bouton->setFont(QFont("Comic Sans MS",14));
m_bouton->move(60,50);
} |
menu.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #ifndef MENU_H
#define MENU_H
#include <QMainWindow>
#include <QApplication>
class SimpleMenu : public QMainWindow
{
public:
SimpleMenu(QWidget *parent=0);
private:
QAction *m_quit;
};
#endif // MENU_H |
menu.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| #include "menu.h"
#include <QMenu>
#include <QMenuBar>
SimpleMenu::SimpleMenu(QWidget *parent):QMainWindow(parent)
{
m_quit = new QAction ("&Quit", this);
QMenu *file;
file = menuBar()->addMenu("&File");
file->addAction(m_quit);
connect(m_quit,SIGNAL(triggered()),qApp,SLOT(m_quit()));
} |
main:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| #include <QApplication>
#include "fenetre.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
FenPrincipal affichage;
affichage.show();
return a.exec();
} |