У меня есть QStandardItemModel, которую я отображаю в q QTreeView. Работает отлично.
Чтобы выделить соответствующие строки, я хочу выделить некоторые из них: поэтому у меня есть QStringList с именами QStandItem*, которые нужно выделить.
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);
}
}
}
Моя модель имеет следующую структуру:
Уровень_1
+--> Уровень_11
+--> Уровень_12
+--> Уровень_13
Уровень_2
+--> Уровень_21
+ --> Уровень_22
+--> Уровень_23
...
Здесь он проходит через уровни 11, 12 и 13, а затем останавливается.