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 :

Erreur : closeEvent() overloaded


Sujet :

Qt

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Erreur : closeEvent() overloaded
    Bonjour,

    Je suis débutant en Qt, et j'essaie de créer une fenêtre qui demande confirmation avant de se fermer. Pour ça je surcharge closeEvent(), mais quand je compile j'ai le message d'erreur suivant :

    `void ihm::FenetrePrincipale::closeEvent(QCloseEvent*)' and `void ihm::FenetrePrincipale::closeEvent(QCloseEvent*)' cannot be overloaded

    Quelqu'un sais quelle est l'erreur ?

    Voici le code :

    FenetrePrincipale.h :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include <QtGui>
    namespace ihm {
    class FenetrePrincipale: public QMainWindow
     {
    	Q_OBJECT 
            //...
      public slots:
           void closeEvent(QCloseEvent *event);
            //...
     };
    }

    FenetrePrincipale.cpp:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    namespace ihm {
        //...
        void FenetrePrincipale::closeEvent(QCloseEvent *event)
        {
            if(fermerProjet()){
                event->accept();
            }
            event->ignore();
        }
        //...
    }
    Merci

  2. #2
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 72
    Points : 78
    Points
    78
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public slots:
    void closeEvent(QCloseEvent *event);
    déplacer votre méthode dans la partie "public:" avec les autres méthodes, vous ne la mettez pas avec les "slots".
    La méthode qu'on va l'hériter et la redéfinir on ne la met pas avec les autres slots d'après ce que j'ai vu dans mon expérience personnelle.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Merci de te réponse rapide. Mais j'ai déplacé la définition de ma méthode dans la partie "public:" et j'ai toujours la même erreur... Une autre idée ?

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 111
    Points : 195
    Points
    195
    Par défaut
    salut,
    essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    protected:
        void closeEvent(QCloseEvent *event);

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Ça ne change rien. J'ai déplacé la définition de la méthode dans la partie public, private et protected sans amélioration. Quelqu'un à déjà eu une erreur de ce genre ?

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Vérifie que closeEvent() n'est pas déclaré 2 fois dans ta classe.

Discussions similaires

  1. Réponses: 9
    Dernier message: 24/05/2011, 17h59
  2. Réponses: 2
    Dernier message: 15/11/2005, 10h59
  3. Réponses: 4
    Dernier message: 07/10/2005, 15h28
  4. erreur IDL:omg.org/CORBA/MARSHAL:1.0
    Par Pinggui dans le forum CORBA
    Réponses: 3
    Dernier message: 13/05/2002, 15h05
  5. [Kylix] Erreur objet
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h41

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