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 :

probleme utilisation siganl/slot ,héritage QObject?


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 71
    Par défaut probleme utilisation siganl/slot ,héritage QObject?
    une erreur quand j'ai ajouté les slot signals sur ma class Frm:

    App.o: In function `Frm::Frm()':
    App.cpp.text+0xdc): undefined reference to `vtable for Frm'
    App.o: In function `Frm::Frm()':
    App.cpp.text+0x16c): undefined reference to `vtable for Frm'
    App.o: In function `Frm::~Frm()':
    App.cpp.text+0xc27): undefined reference to `vtable for Frm'
    App.o: In function `Frm::~Frm()':
    App.cpp.text+0xca7): undefined reference to `vtable for Frm'
    App.o: In function `Frm::~Frm()':
    App.cpp.text+0xd17): undefined reference to `vtable for Frm'
    collect2: ld a retourné 1 code d'état d'exécution


    ces erreurs sont ils due à l'heritage de QObject?
    voila je vous colle le code :

    Frm.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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    #include <QtGui/QWidget>
     
    QT_BEGIN_NAMESPACE
    /*!
     *      \class Frm
     *      \brief wxWidgets Frame
     *      \author Olivier Pilotte
     */
    class Frm
     
    {
     
     
    Q_OBJECT
    public :
    /*!
                     *      \fn Frm( const wxString &, const wxPoint &, const wxSize & );
                     *      \brief Constructor
                     */
    		Frm(void );
     
    		/*!
                     *      \fn ~Frm
                     *      \brief Destructor
                     */
    		~Frm( void );
     
     
    	public slots:
    void setTextTxtFileSource(void);
     
    };
     
    namespace Ui {
        class MainWindow: public Frm {};
    } // namespace Ui
     
    QT_END_NAMESPACE
     
    #endif
    ainsi que le Frm.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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    #include "../inc/Frm.h"
    #include <string>
    #include <iostream>
    using namespace std;
    Frm::Frm( void )
    {
     
    }
     
    Frm::~Frm( void )
    {
     
    }
     
    QObject::connect(btnFileSource, SIGNAL(clicked()), this, SLOT(setTextTxtFileSource()));
     
    //fileDialog->show();
     
        retranslateUi(MainWindow);
        QObject::connect(btnFileQuit, SIGNAL(clicked()), MainWindow, SLOT(close()));
        QObject::connect(btnFolderQuit, SIGNAL(clicked()), MainWindow, SLOT(close()));
     
     
     
     
        thePanel->setCurrentIndex(1);
     
     
        QMetaObject::connectSlotsByName(MainWindow);
        } // setupUi
     
    void Frm::setTextTxtFileSource(void)
    { 
    QFileDialog dialog;
    dialog.setFilter("TALL (*.*)");
    QStringList file_names;
    if (dialog.exec() == QDialog::Accepted) {
        file_names = dialog.selectedFiles();
        QString first_name = file_names[0];
     
    txtFileSource->setText(first_name);}
    }

    j'ai ajouté le code essentiel ou se trouve l'ereur ,j'ap pas collé les declarations des objets ... a cause de la lesibilité


    Merci

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Par défaut
    ces erreurs sont ils due à l'heritage de QObject?
    Oui, ta classe doit hériter de QObject (ou une de ses classes filles) .

    G.

  3. #3
    Membre éprouvé Avatar de sardik
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    135
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 135
    Par défaut
    Il faut penser à mettre dans le fichier d'implémentation de la classe réalisée via QtDesigner.

    (A moins que ce fichier .h ne soit pas de QtDesigner, je viens de relire et j'ai un doute.)

Discussions similaires

  1. [DLL]Probleme utilisation DLL
    Par bubulle63 dans le forum Windows
    Réponses: 4
    Dernier message: 07/09/2006, 13h35
  2. probleme utilisation fonction split
    Par Lnmex dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 04/07/2006, 16h40
  3. probleme utilisation de iis
    Par seb833434 dans le forum IIS
    Réponses: 2
    Dernier message: 15/06/2006, 17h19
  4. Probleme utilisation d'Objets managé grace a gcroot
    Par pepefourras dans le forum MFC
    Réponses: 4
    Dernier message: 16/05/2006, 00h26
  5. [débutant] Probleme avec switch et héritage
    Par durk dans le forum Langage
    Réponses: 2
    Dernier message: 21/04/2005, 09h48

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