我有一个 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);
}
}
}
我的模型具有以下结构:
Level_1
+--> Level_11
+--> Level_12
+--> Level_13
Level_2
+--> Level_21
+--> Level_22
+--> Level_23
...
在这里,它迭代第 11、12 和 13 层,然后停止。