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 :

Problème avec QDialog


Sujet :

Qt

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 2
    Par défaut Problème avec QDialog
    Bonjour à tous,

    Je suis confronté à un problème assez lourd depuis quelques jours.
    voici ce qu'il en est :

    Je développe une application utilisant OpenStreetMap sous Symbian (projet Lightmap dans les exemples de projets Qt).
    Jusque la ca va, le problème survient lorsque je veux affiché un nouveau QDialog.

    J'obtiens cette erreur : "undefined reference to "FormZone::FormZone(QWidget*)"
    Je précise que cette erreur ne se produit que lorsque je compile pour le Device sinon tout va bien via le simulateur de Qt creator (compilation et exécution sans aucun soucis...)
    Voici le code de création de mon QDialog :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    FormZone fZone(this);// this est le QMainWindow
    connect(&fZone,SIGNAL(accepted()),this,SLOT(ZoneAccepted()));
    fZone.exec();
    J'utilise : Qt Creator 1.3.85 (2.0.0-rc1) Based on Qt 4.7.0 (32 bit)


    J'espère que quelqu'un aura une idée.

    Merci d'avance .

  2. #2
    Membre chevronné
    Avatar de haraelendil
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2004
    Messages
    283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2004
    Messages : 283
    Par défaut
    Le problème ne vient pas du code d'appel mais de la déclaration de ta classe FormZone.

    En l'état, le compilateur trouve la déclaration du constructeur FormZone::FormZone(QWidget*), mais pas son implémentation, et ne peut donc pas linker ton application.

    As-tu bien implémenté ce constructeur?
    Peut-être as-tu juste oublié le FormZone:: devant le FormZone(QWidget*) si tu l'as bien écrit...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 2
    Par défaut
    Citation Envoyé par haraelendil Voir le message
    Le problème ne vient pas du code d'appel mais de la déclaration de ta classe FormZone.

    En l'état, le compilateur trouve la déclaration du constructeur FormZone::FormZone(QWidget*), mais pas son implémentation, et ne peut donc pas linker ton application.

    As-tu bien implémenté ce constructeur?
    Peut-être as-tu juste oublié le FormZone:: devant le FormZone(QWidget*) si tu l'as bien écrit...
    je pense que tout est bien déclarer vu que c'est le code généré par QtCreator. On ne sait jamais si il y aura eu un plantage à la génération.

    Voici le .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
     
    #ifndef FORMZONE_H
    #define FORMZONE_H
     
    #include <QDialog>
    #include<QWidget>
     
    namespace Ui {
        class FormZone;
    }
     
    class FormZone : public QDialog
    {
        Q_OBJECT
     
    public:
        explicit FormZone(QWidget *parent = 0);
        ~FormZone();
     
    private:
        Ui::FormZone *ui;
    };
     
    #endif // FORMZONE_H
    et le .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
     
    #include "formzone.h"
    #include "ui_formzone.h"
     
    FormZone::FormZone(QWidget *parent) :
        QDialog(parent),
        ui(new Ui::FormZone)
    {
        ui->setupUi(this);
    }
     
    FormZone::~FormZone()
    {
        delete ui;
    }
    Je ne vois pas trop ce qui pourrait poser problème

    et merci pour ta réponse

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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