J'ai un QStandardItemModel, que je montre dans Q QTreeView. Fonctionne bien.Comment parcourir complètement un QStandardItemModel?
Pour mettre en évidence les lignes pertinentes, je veux en souligner certaines: J'ai donc une QStringList avec les noms des QStandItem * à mettre en surbrillance.
QStringList namesToBeHighlighted = getNames();
QModelIndex in = myModel->index(0, 0);
if (in.isValid()) {
for (int curIndex = 0; curIndex < myModel->rowCount(in); ++curIndex) {
QModelIndex si = myModel->index(curIndex, 0, in);
QStandardItem *curItem = myModel->itemFromIndex(si);
if (curItem) {
QString curItemName = curItem->text();
if (namesToBeHighlighted.contains(curItem->text())) {
curItem->setFont(highlightFont);
}
else curItem->setFont(unHighlightFont);
}
}
}
Mon modèle a la structure suivante:
level_1
+ -> Level_11
+ -> Level_12
+ -> Level_13
level_2
+ -> Level_21
+ -> Level_22
+ -> Level_23
...
Ici, il passe par les niveaux 11, 12 et 13 puis s'arrête.