Vous pouvez utiliser la fonction findItems()
pour trouver votre cellule. Function renvoie une liste d'éléments correspondant au texte donné, en utilisant les indicateurs donnés, dans la colonne donnée.
for (int index = 0; index < model->columnCount(); index++)
{
QList<QStandardItem*> foundLst = model->findItems("YourText", Qt::MatchExactly, index);
}
Si vous voulez obtenir l'index de l'élément trouvé et mettre en évidence en utilisant ce code:
for (int index = 0; index < model->columnCount(); index++)
{
QList<QStandardItem*> foundLst = model->findItems("YourText", Qt::MatchExactly, index);
int count = foundLst.count();
if(count>0)
{
for(int k=0; k<count; k++)
{
QModelIndex modelIndex = model->indexFromItem(foundLst[k]);
qDebug()<< "column= " << index << "row=" << modelIndex.row();
((QStandardItemModel*)modelIndex.model())->item(modelIndex.row(),index)->setData(QBrush(Qt::green),Qt::BackgroundRole);
}
}
}
Plus d'info:
QTableView: La classe QTableView
fournit une implémentation modèle par défaut/vue une vue de la table. La classe QStandardItemModel
fournit un modèle générique pour stocker des données personnalisées.
Vous voulez rechercher et trouver une valeur dans le tableau? – aghilpro
Après la recherche je veux la position de la valeur dans la table – annie
je mets à jour ma réponse. cette ligne a ajouté: '((QStandardItemModel *) modelIndex.model()) -> élément (modelIndex.row(), index) -> setData (QBrush (Qt :: vert), Qt :: BackgroundRole);' – aghilpro