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

Qt Discussion :

créer une bar de menu


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de guiyomh
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 328
    Par défaut créer une bar de menu
    bonjour j'essaye de créer une barre de menu en étendant la class Qmenu bar ainsi :

    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 <QtGui/QMenuBar>
    #include <QtGui/QMenu>
     
    class menuBar : public QMenuBar
    {
        public:
            menuBar();
            QMenu *menuFichier;
            QMenu *menuEdition;
            QMenu *menuAffichage;
     
        private:
            void buildMenuFichier();
            void buildMenuEdition();
            void buildMenuAffichage();
    }
    et ensuite j'essaye de la mettre dans mon QmainWindow en faisant ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    QMenuBar *menubar = new menuBar();
    setMenuBar(menubar);
    mais ça ne marche pas, j'ai des erreur lors de la compilation et je vois pas ou !

    voici erreur :
    mainWindow.cpp:4: erreur: nouveaux types ne peuvent être définis dans un type à retourner
    mainWindow.cpp:4: note: (perhaps a semicolon is missing after the definition of «menuBar»)
    mainWindow.cpp:4: erreur: spécification de type retourné pour un constructeur est invalide
    mainWindow.cpp: In member function «void mainWindow::buildMenuBar()»:
    mainWindow.cpp:33: erreur: expected type-specifier before «menuBar»
    mainWindow.cpp:33: erreur: cannot convert «int*» to «QMenuBar*» in assignment
    mainWindow.cpp:33: erreur: expected `;' before «menuBar»
    make: *** [mainWindow.o] Erreur 1

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    menubar = new menuBar()
    tu as nommé ta variable comme ta class... pas bien

  3. #3
    Membre éclairé Avatar de guiyomh
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 328
    Par défaut
    oki je fais corriger ça !

    par contre je me possais une question que je n'arrive pas a résoudre, je souhaiterais faire une classe pour gérer la déclaration de mes action comme (copier, coller ...)

    mais commen je peux faire pour reprendre les actions créer dans ma class menuBar et dans ma classe toolBar ?

    j'ai du mal a voir le fonctionnement !

    peut tu me montrer un petit exemple simple avec 1 action stp !

  4. #4
    Membre éclairé Avatar de guiyomh
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 328
    Par défaut
    j'ai fait la correction, mais j'a un problème de typage de variable voici l'erreur :
    mainWindow.cpp:4: erreur: nouveaux types ne peuvent être définis dans un type à retourner
    mainWindow.cpp:4: note: (perhaps a semicolon is missing after the definition of «menuBar»)
    mainWindow.cpp:4: erreur: spécification de type retourné pour un constructeur est invalide
    mainWindow.cpp: In member function «void mainWindow::buildMenuBar()»:
    mainWindow.cpp:33: erreur: «mainbar» was not declared in this scope
    mainWindow.cpp:33: erreur: expected type-specifier before «menuBar»
    mainWindow.cpp:33: erreur: expected `;' before «menuBar»
    make: *** [mainWindow.o] Erreur 1
    dans le mainWindow, je fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    #include "mainWindow.h"
    #include "menuBar.h"
    [...]
    void mainWindow::buildMenuBar()
    {
        QMenuBar *mainbar = new menuBar();
        setMenuBar(mainbar);
    }

  5. #5
    Membre Expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Par défaut
    Salut,

    Comme le dit le compilo et au vu du code que tu as posté, tu as effectivemtn oublié un ';' après la déclaration de ta classe menuBar. (et comme la casse étais différente, tu peux très bien -syntaxiquement parlant- appeler une classe menuBar et une variable menubar, mais ce n'est pas très clair )

  6. #6
    Membre éclairé Avatar de guiyomh
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 328
    Par défaut
    Effectivement

    je me flagelerait plus tard pour me punir.

    j'ai corriger mais j'ai encore une erreur :
    mainWindow.cpp: In member function «void mainWindow::buildMenuBar()»:
    mainWindow.cpp:33: erreur: expected type-specifier before «menuBar»
    mainWindow.cpp:33: erreur: cannot convert «int*» to «QMenuBar*» in initialization
    mainWindow.cpp:33: erreur: expected «,» or «;» before «menuBar»
    make: *** [mainWindow.o] Erreur 1
    Il y a pas un tuto pour apprendre a décrypter les message erreur du compilateur car j'y comprends rien ;

    //EDIT ----
    Et que ferais tu pour que ce soit plus clair ?

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 21/04/2013, 18h48
  2. Désactiver des options d'une bar de menu
    Par tupac25 dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 10/11/2010, 17h07
  3. [DEV] créer une barre de menu en java style mac os X
    Par didi dans le forum Développement OS X
    Réponses: 11
    Dernier message: 31/05/2008, 00h16
  4. Créer une barre de menu commune à tous formulaires
    Par Salamander24 dans le forum IHM
    Réponses: 5
    Dernier message: 12/02/2008, 14h45
  5. Réponses: 9
    Dernier message: 24/03/2007, 22h37

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