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 :

changer un pointeur QString en un type QString.


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 changer un pointeur QString en un type QString.
    Bonjour

    une question de debutant peut etre:
    s'il vous plait comment changer un pointeur QString en un type QString.

    Voila l'initialisation du pointeur :

    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
     
    for( int i = 0; i < formatsCount; i ++ )
    {
    formats[ i ] = new QString[ 2 ];
    }
     
    //projections
    for( int i = 0; i < projectionsCount; i ++ )
    {
    projections[ i ] = new QString[ 2 ];
    }
     
    #include "../inc/Dta.h"
     
    Dans le Dta.h les données sont décrite comme suit :
     
     
     
    formats[ 0 ][ 0 ] = "" ; formats[ 0 ][ 1 ] = "" ;
    formats[ 1 ][ 0 ] = "ESRI Shapefile" ; formats[ 1 ][ 1 ] = "shp" ;
    formats[ 2 ][ 0 ] = "MapInfo File" ; formats[ 2 ][ 1 ] = "tab" ;
    formats[ 3 ][ 0 ] = "BNA" ; formats[ 3 ][ 1 ] = "bna" ;
    formats[ 4 ][ 0 ] = "CSV" ; formats[ 4 ][ 1 ] = "csv" ;
    formats[ 5 ][ 0 ] = "GML" ; formats[ 5 ][ 1 ] = "gml" ;
    formats[ 6 ][ 0 ] = "KML" ; formats[ 6 ][ 1 ] = "kml" ;

    alors pour afficher dans un txtedit il faut que sa soit un QString et non pas pointeur sinon j'ai toujours une erreur de segmentation !!


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    txtFileSource->setText(formats[ 1 ][ 0 ]);


    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
    Pourquoi ton tableau formats[] a une fois 1 seule dimension, et après 2 dimensions ? Et à part si tu as une très bonne raison, il y a des containers sans doute plus adapté que le tableau en dans Qt, et dans la librairie standard C++.

    Mais pour répondre quand même à ta question, il existe de nombreux cours/FAQ sur le C et le C++ sur ce site, et sur Internet !

    Je te laisse chercher.

    G.

  3. #3
    Membre expérimenté
    Avatar de Niak74
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    271
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 271
    Par défaut
    La variable "formats" citée est de type char**?

    Si c'est le cas, commence par créer une QString basée sur la chaine de caractère qui t'intérésse (par ex : QString chaine = formats[2][0]), passe ensuite cette QString dans ta méthode (txtFileSource->setText(chaine).

    Les composantes de ta variable projections semblent être des pointeurs de QString[], puisque tu les instancies via un new, pour récupérer l'adresse pointée, il faut utiliser l'opérateur &, pour récupérer la valeur pointée, il faut utiliser l'opérateur *. Si j'ai bien compris ce que tu souhaites faire, c'est l'opérateur & que tu dois utiliser (genre (txtFileSource->setText(&projections[0][1]).

    De manière à mieux expliquer ton soucis, n'oublie pas de nous indiquer les types des variables que tu exposes (en particulier ceux de formats et projections).

Discussions similaires

  1. changer un pointeur QString en un type QString.
    Par chochatown dans le forum Débuter
    Réponses: 10
    Dernier message: 17/06/2009, 21h48
  2. Réponses: 10
    Dernier message: 28/07/2006, 15h18
  3. Changer le pointeur de la souris
    Par jolann69 dans le forum 4D
    Réponses: 1
    Dernier message: 13/06/2006, 08h40
  4. Pointeurs et changement de types louches
    Par BenjaminLustrement dans le forum C
    Réponses: 8
    Dernier message: 08/06/2006, 13h34

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