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

C++ Discussion :

Qt - Problème d'appel de méthode statique


Sujet :

C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 16
    Points : 13
    Points
    13
    Par défaut Qt - Problème d'appel de méthode statique
    Bonsoir,

    J'ai un petit problème d'appel de méthode statique dans mon programme.

    Je m'explique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    void FenDegats::on_ouvrirCompetence_activated()
    {
    	QString dir = QFileDialog::getOpenFileName();
    	file = new QFile(dir);
    	file->open(QIODevice::ReadOnly | QIODevice::Text); 
        file->close();
    }
    Quand je fais ça, je n'ai pas de problème, apparemment, la déclaration de dir avec un appel de méthode statique de cette façon là marche. ^^

    Cependant, si j'enlève la déclaration

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    void FenDegats::on_ouvrirCompetence_activated()
    {
    dir = QFileDialog::getOpenFileName();
    	file = new QFile(dir);
    	file->open(QIODevice::ReadOnly | QIODevice::Text); 
        file->close();
    }
    J'ai déclaré QString *dir dans la classe bien sûr.

    ça ne marche plus ...

    Merci d'avance.

  2. #2
    En attente de confirmation mail
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Octobre 2010
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2010
    Messages : 501
    Points : 1 060
    Points
    1 060
    Par défaut
    Bonjour,

    Si la propriété "dir" de la classe est de type QString*, cela paraît normal que ça ne fonctionne pas.
    D'après le premier bloc de code, QFileDialog::getOpenFileName(); semble retourner un QString et non un QString*

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par Nudger Voir le message
    Bonjour,

    Si la propriété "dir" de la classe est de type QString*, cela paraît normal que ça ne fonctionne pas.
    D'après le premier bloc de code, QFileDialog::getOpenFileName(); semble retourner un QString et non un QString*
    Effectivement, ça marche sans le * du pointeur... mais du coup il y a un truc que j'ai pas compris... saloperie de pointeurs

    Merci beaucoup, j'y avais même pas pensé, quelle honte.

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

Discussions similaires

  1. Problème d'appel de méthode d'objets COM
    Par tibobao dans le forum C#
    Réponses: 0
    Dernier message: 03/08/2010, 17h35
  2. Problème d'appel des méthodes OpenGL
    Par choko83 dans le forum OpenGL
    Réponses: 5
    Dernier message: 24/04/2008, 10h02
  3. Problèmes d'appels de méthodes
    Par parano dans le forum C++
    Réponses: 7
    Dernier message: 07/03/2007, 12h08
  4. Héritage : problème d'appel de méthodes
    Par parano dans le forum C++
    Réponses: 15
    Dernier message: 02/03/2007, 14h42
  5. Problème pour appeler une méthode d'une autre classe
    Par tse_tilky_moje_imja dans le forum Général Python
    Réponses: 7
    Dernier message: 03/03/2006, 13h33

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