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 :

Listes : déclaration & méthode de mise à jour d'un élément


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de betsprite
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    472
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 472
    Par défaut Listes : déclaration & méthode de mise à jour d'un élément
    Bonjour,

    Voulant apprendre à utiliser les listes d'éléments avec Qt, j'ai consulté la documentation et j'ai trouvé la classe QList, et la classe fille QStringList.

    Il y a notamment un petit exemple fournit sur l'un des constructeurs de la classe QStringList :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QStringList longerList = (QStringList() << str1 << str2 << str3);
    Ceci m'amène à une première question :

    *** Pour pouvoir accéder aux attributs d'une classe avec le procédé d'encapsulation, les widgets d'une application sont instancié avec le mot-clé new qui nous donne un pointeur. Qu'en est-il alors des QList en général ? doit-on les déclarer sous forme d'adresse comme ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    QStringList *longerList;
    longerList = new QStringList()
    longerList->append("premiereElement")
    // etc ...
    ???
    -------------------------------------------------------
    Aussi, deuxième question qui n'a pas vraiment de rapport :

    *** Malgré ma lecture de la doc, je n'ai pas vu explicitement de méthode permettant de "mettre à jour" une valeur dans une liste à un indice donné (que se soit pour les méthodes de QStringList ou même de la classe dont elle hérite QList). Peut être que j'ai mal regardé ?

    Je vous remercie !

  2. #2
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Par défaut
    Bonjour betsprite

    Pour pouvoir accéder aux attributs d'une classe avec le procédé d'encapsulation, les widgets d'une application sont instancié avec le mot-clé new qui nous donne un pointeur.
    L'utilisation de pointeurs pour les QObject n'est pas imposé par l'encapsulation mais par des raisons de conception interne des QObject (cf doc de QObject).

    QList n'hérite pas de QObject et et n'impose pas d'utiliser des pointeurs (c'est même déconseillé : l'intérêt de QList est de gérer la mémoire automatiquement pour une liste ; si tu crées un pointeur, tu dois le gérer toi même ; recherche sur le forum C++ et STL pour plus d'explications)

    Donc, le mieux est de créer une QList puis de la partager par référence.

    Pour la seconde question, il suffit d'utiliser l'opérateur [] :

  3. #3
    Membre éclairé
    Avatar de betsprite
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    472
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 472
    Par défaut
    Merci gbdivers

    Rien à dire tes réponses me conviennent très bien !

    (J'aurais pu y penser quand même à maListe[i] = "toto" :p shame on me !)

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

Discussions similaires

  1. [2.x] Méthode de mise à jour d'une instance par un formulaire.
    Par Procyon dans le forum Symfony
    Réponses: 3
    Dernier message: 19/05/2013, 12h23
  2. [AC-2007] List Box Selection Multiple: problème mise à jour macro
    Par giopas dans le forum VBA Access
    Réponses: 12
    Dernier message: 28/03/2011, 10h29
  3. Réponses: 0
    Dernier message: 21/10/2009, 15h59
  4. [AC-2007] Liste déroulante dans formulaire et mise à jour de champs
    Par Katsandrya dans le forum IHM
    Réponses: 0
    Dernier message: 22/04/2009, 11h14
  5. [Updater] Méthode de mise à jour et stockage de l'information
    Par dragohn dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 03/01/2009, 11h58

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