[QT] QListView

QListView [QT] - C++ - Programmation

Marsh Posté le 31-05-2005 à 15:43:01    

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 corresponde? Car j'essaie d'estraire les information de cette ligne pour l'afficher dans une autre partie de l'IHM.
 
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 :
  1. void F_principale::lvTramePresentation_selectionChanged( QListViewItem *item )
  2. {
  3.     lvDonnee->clear();
  4.     teTrame->clear();
  5.     cout<<"selection->";
  6.     cout<<item<<endl;
  7.    QListViewItemIterator it( lvTramePresentation );
  8.    for (int col=0; col<lvTramePresentation->columns();++col)
  9.    {
  10.        int valeurColonne=col-1;
  11.        QString donnee = it.current()->text(valeurColonne);
  12.        QString description;
  13.        description =" ";
  14.        new QListViewItem(lvDonnee,"",donnee,description);
  15.  
  16.     }
  17.  
  18. }

Reply

Marsh Posté le 31-05-2005 à 15:43:01   

Reply

Marsh Posté le 31-05-2005 à 16:49:24    

Salut,
 

transistor49 a écrit :

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 corresponde?


Je suppose que tu fais référence à ça : cout << item << endl ? Si c'est bien ça, la valeur hexa est l'adresse du QListViewItem, et tu n'as surtout pas à t'en préoccuper.
 
 

transistor49 a écrit :

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é.


Tu n'as pas à connaître le numéro de la ligne. D'après la doc,

Citation :

The argument is the newly selected item.


Donc tu dois récupérer tes infos à partir de l'item reçu en paramétre et surtout pas de  

Code :
  1. QListViewItemIterator it( lvTramePresentation );


Qui renvoit un itérateur sur le premier item de lvTramePresentation...

Reply

Marsh Posté le 02-06-2005 à 12:10:58    

Code :
  1. cout << item->text(0).latin1() << endl;


 
devrait faire l'affaire (pour la premiere colonne).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed