IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

Un fichier par type de fenêtre

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 42
    Par défaut 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.

    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?

    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
    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 : 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
    #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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : 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 "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 : 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 "fenetre.h"
     
     
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        FenPrincipal affichage;
     
        affichage.show();
     
     
        return a.exec();
    }

  2. #2
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 736
    Par défaut
    Bonjour.

    QWidget ne peut pas avoir de barre de menus, seul QMainWindow peut en posséder (avec la méthode setMenuBar),


    FenPrincipale doit hériter de QMainWindow et SimpleMenu de QMenuBar.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 42
    Par défaut
    merci pour la réponse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment trier des fichiers par types et par tailles?
    Par xXO--Hades--OXx dans le forum Android
    Réponses: 3
    Dernier message: 07/12/2010, 12h09
  2. [PHP 5.1] Trier fichiers par type apres les avoirs lister
    Par ketaaa dans le forum Langage
    Réponses: 4
    Dernier message: 28/05/2009, 21h47
  3. Filtrer un fichier par rapport a un type de projet
    Par ecoureux dans le forum Eclipse Platform
    Réponses: 0
    Dernier message: 07/12/2007, 16h32
  4. Réponses: 3
    Dernier message: 21/06/2006, 23h23
  5. Trier les fichiers par type et les afficher par groupe ...
    Par KneXtasY dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 18/09/2005, 18h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo