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 :

QListView


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de transistor49
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 184
    Par défaut QListView
    Bonjour,
    j'ai un petit probleme avec ma QListView, quand je selectionne une ligne de ma listView, elle me retourne une valeur en hexa. J'aurais voulu savoir comment faire pour savoir a quelle ligne cela correspondre? Car j'essaie d'estraire les information de cette ligne pour l'afficher dans une autre partie de l'IHM.

    voici ce que j'ai mis pour l'instant, pouvez vous me dire si je suis bien partie et si je n'ai pas trop de cafouilli dans le code?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    void F_principale::lvTramePresentation_selectionChanged( QListViewItem *item )
    {
        cout<<"selection";
        cout<<item<<endl;
       QListViewItemIterator it( lvTramePresentation );
       QListViewItemIterator itDonnee( lvDonnee);
       for (int col=0; col<lvTramePresentation->columns();++col)
       {
    	itDonnee.current(col)
        }
     
    }

  2. #2
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Cette valeur en hexa c'est parce que c'est un pointeur. Tu reçois en paramètre le QListViewItem sélectionné.
    Y'a pas de notion de ligne dans une listview, car une "ligne" peut être "contractée" ou non. Tu devrais plutot regarder du côté de QListBox.
    Pourquoi as-tu besoin de ce "numéro de ligne" ?

  3. #3
    Membre confirmé Avatar de transistor49
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 184
    Par défaut
    J'ai besoin de savoir quel est ce numéro de ligne de cette QListView1 car il me faut pouvoir extraire ce qu'il y a dedans pour l'afficher dans une autre QListView2.
    la QListView1 dont j'ai besoin de ce numéro recoit des information, et peut en contenir une infinité.
    j'ai réussi a afficher ces information dans la deuxieme QListView2 mais ce n'est pas les bonne, il ne m'affiche que les information de la premiere ligne de la QListView1.

    voici le code de l'affichage:
    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
    void F_principale::lvTramePresentation_selectionChanged( QListViewItem *item )
    {
        lvDonnee->clear();
        teTrame->clear();
        cout<<"selection->";
        cout<<item<<endl;
       QListViewItemIterator it( lvTramePresentation );
       for (int col=0; col<lvTramePresentation->columns();++col)
       {
           int valeurColonne=col-1;
           QString donnee = it.current()->text(valeurColonne);
           QString description;
           description =" ";
           new QListViewItem(lvDonnee,"",donnee,description);
     
        }
     
    }
    si vous pouviez m'aider!!

  4. #4
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    J'ai du mal à te suivre.
    A quoi le "numéro de ligne" te sert ? Tu as l'item choisi, tu peux directement récupérer ce qu'il y a dedans. Je vois pas ce que tu peux espérer de mieux.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    void F_principale::lvTramePresentation_selectionChanged( QListViewItem *item ) 
    {
        cout <<"selection : " << item->text( 0 ) << '\n';
    }

  5. #5
    Membre confirmé Avatar de transistor49
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 184
    Par défaut
    Mon probleme est dans mon code, je ne vois pas comment faire pour extraire les informations de cette colonne qui est surlignée!
    si tu veut, je ne voit pas comment le coder.

  6. #6
    tut
    tut est déconnecté
    Membre éclairé
    Avatar de tut
    Inscrit en
    Juillet 2002
    Messages
    373
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 373
    Par défaut
    il suffit que tu utilises le pointeur que tu reçois en paramètre, comme te l'a montré Aurélien...

  7. #7
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    cout << "Text de la colonne 0 : " << item->text( 0 ) << '\n';
    cout << "Text de la colonne 1 : " << item->text( 1 ) << '\n';
    cout << "Text de la colonne 2 : " << item->text( 2 ) << '\n';
    // ...

  8. #8
    Membre confirmé Avatar de transistor49
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 184
    Par défaut
    non, ce ne ut pascommesa que j'ai pu faire ma selection, je vien de trouver:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
       QListViewItemIterator it( lvTramePresentation );
       while ( it.current()!=item )
       {
           it++;
       }
    et grace a sa, sa ne m'affiche que la ligne sélectionnée.

  9. #9
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Pourquoi faire simple quand on peut faire compliqué...

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

Discussions similaires

  1. QAbstractItemModel et QListView
    Par Floréal dans le forum Qt
    Réponses: 8
    Dernier message: 25/09/2007, 13h42
  2. QTreeView, QListView et leurs copains
    Par Alouka dans le forum Qt
    Réponses: 2
    Dernier message: 12/01/2007, 08h36
  3. QListView : encapsulation/affichages
    Par ledjlale dans le forum Qt
    Réponses: 2
    Dernier message: 08/11/2006, 09h12
  4. [Qt] Lister les elements d'une QListView
    Par MonsieurAk dans le forum Qt
    Réponses: 3
    Dernier message: 16/05/2006, 20h40

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