Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreurs Qt

---- was not declared in this scope

Sujet résolu
    10 juin 2008 à 10:39:43

    Bonjour

    J'ai plusieurs erreurs de type "... was not declared in this scope".
    D'habitude ce sont des erreurs toute simples à règler mais là, je ne vois pas pourquoi il ne connait pas ces fonctions!

    Voici tout d'abord les erreurs s'affichant:

    Citation : make

    keditor.cpp: In constructor «keditor::keditor()»:
    keditor.cpp:8: erreur: «setCentralWidget» was not declared in thisscope
    keditor.cpp:7: attention : unused variable «onglet»
    keditor.cpp: In member function «void keditor::create_menus()»:
    keditor.cpp:22: erreur: «menuBar» was not declared in this scope
    keditor.cpp:22: erreur: «tr» was not declared in this scope
    keditor.cpp:32: erreur: «addToolBar» was not declared in this scope
    keditor.cpp:33: erreur: «statusBar» was not declared in this scope
    keditor.cpp:40: erreur: «connect» was not declared in this scope
    make: *** [keditor.o] Erreur 1



    Voici le fichier "keditor.h"
    #ifndef INCLUDE_KEDITOR
    #define INCLUDE_KEDITOR
    #include <QApplication>
    #include <QObject>
    #include <QtGui>
    
    class keditor
    {
    	//Q_OBJECT
    
    	public:
    	keditor();
    
    	protected:
    	void create_menus();
    
    	private:
    	QMdiArea *centre;
    	QMenu *fichier;
    	QMenu *edition;
    	QMenu *aide;
    	QToolBar *barre_outils;
    	QStatusBar *barre_etat;
    
    };
    
    #endif
    


    Et le code du fichier "keditor.cpp"
    #include "keditor.h"
    
    keditor::keditor(){
    
    	centre = new QMdiArea;
    	QTextEdit *document = new QTextEdit;
    	QMdiSubWindow *onglet = centre->addSubWindow(document);
    	setCentralWidget(centre);
    
    	//Affichage en onglets
    	centre->setViewMode(QMdiArea::TabbedView);
    
    
    	//Création des menus et des barres d'outils
    	create_menus();
    
    }
    
    void keditor::create_menus(){
    
    	//Création des différents menus
    	fichier = menuBar()->addMenu(tr("&Fichier"));
    	edition = menuBar()->addMenu(tr("&Edition"));
    	aide = menuBar()->addMenu(tr("&Aide"));
    
    	//Fichier
    	QAction *nouveau = fichier->addAction(tr("Nouveau"));
    	nouveau->setShortcut(tr("Ctrl+N", "Raccourci pour un nouveau document"));
    	//connect(nouveau, SIGNAL(triggered()), qApp, SLOT(nouveau()));
    	nouveau->setStatusTip(tr("Ouvre un nouveau document"));
    	nouveau->setIcon(QIcon("images/nouveau.png"));
    	barre_outils = addToolBar("Fichier");
    	barre_etat = statusBar();
    	barre_etat->showMessage(tr("Prêt"));
    	barre_outils->addAction(nouveau);
    
    	//Quitter
    	QAction *quitter = fichier->addAction(tr("Quitter"));
    	quitter->setShortcut(tr("Alt+F4", "Raccourci pour fermer l'application"));
    	connect(quitter, SIGNAL(triggered()), qApp, SLOT(quit()));
    	quitter->setStatusTip(tr("Ferme l'application"));
    	quitter->setIcon(QIcon("images/quitter.png"));
    
    	//A propos de Qt
    	QAction *qt4 = aide->addAction(tr("A propos de Qt4"));
    	qt4->setStatusTip(tr("Afficher des informations relatives à Qt"));
    	connect(qt4, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
    
    }
    


    Le code du main étant plus que basique et inutile, je ne le donne pas.

    Pourquoi menuBar, toolbar, tr,... ne sont elles pas connues?

    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
    Un traitement de texte léger, rapide et fiable : DadaWord (ou sur GitHub)
      10 juin 2008 à 10:55:48

      Salut,
      Tu n'aurais pas oublié de faire hériter ta classe de QMainWindow?
      • Partager sur Facebook
      • Partager sur Twitter
        10 juin 2008 à 11:13:05

        Citation : Kobiel

        Salut,
        Tu n'aurais pas oublié de faire hériter ta classe de QMainWindow?


        Moi??? Noooon :-°:-°:-°
        • Partager sur Facebook
        • Partager sur Twitter
        Un traitement de texte léger, rapide et fiable : DadaWord (ou sur GitHub)

        Erreurs Qt

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown