Bonsoir,

J'avais besoin de rechercher une donnée dans un qtablewidget en récupérant la position de la 1ere occurrence trouvée.

Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
QList<QTableWidgetItem*> liste=tableau->findItems("test",Qt::MatchContains); //tableau : mon qtablewidget
item=liste.at(0);
qDebug()<<"ligne : "<<item->row()<<"colonne : "<<item->column();
Je récupères donc sans problèmes l'info souhaité.

Par contre là ou je me questionne, c'est que j'ai essayé de parcourir mon tableau sans trouver l'info de la façon suivante :

voici le code :

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
26
 
// initialisation du tableau
tableau=new QTableWidget();
tableau->setRowCount(10);
tableau->setColumnCount(10);
for (i=0;i<10;i++)    
{
  for (j=0;j<10;j++)
  {
    item=new QTableWidgetItem();
    item->setText("a");
    tableau->setItem(i,j,item);
  }
}
 
// code d'affichage des éléments du tableau
 
for (i=0;i<tableau->rowCount();i++)
{
  for (j=0;j<tableau->columnCount();j++)
  {
     item2=tableau->itemAt(i,j);
     chaine2=item2->text();
    qDebug()<<"ligne : "<<i<<"colonne : "<<j<<"item : "<<item2<<"chaine ; "<<chaine2;
  }
}
cela m'affiche les "a" de toutes les lignes et colonnes même si je modifie une case en saisissant qq chose dedans. Pourquoi les cases que j'ai modifié n'apparaissent t'elles pas ? Je précises que l'initialisation du tableau est la même que pour mon code de recherche opérationnel.

j'ai pas besoin de ce code, c'est juste pour comprendre.

Merci pour vos lumières