首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何完全遍历QStandardItemModel?

如何完全遍历QStandardItemModel?
EN

Stack Overflow用户
提问于 2015-10-14 20:08:47
回答 1查看 13.4K关注 0票数 12

我有一个QStandardItemModel,它显示在Q QTreeView中。工作正常。

为了突出显示相关行,我想突出显示其中的一些行:因此,我有一个带有要突出显示的QStandItem*名称的QStringList。

代码语言:javascript
复制
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);
        }
    }
}

My Model的结构如下:

Level_1

+--> Level_11

+--> Level_12

+--> Level_13

Level_2

+--> Level_21

+--> Level_22

+--> Level_23

..。

在这里,它通过11,12和13层迭代,然后停止。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-14 21:28:10

我希望它能帮助你:

代码语言:javascript
复制
void forEach(QAbstractItemModel* model, QModelIndex parent = QModelIndex()) {
    for(int r = 0; r < model->rowCount(parent); ++r) {
        QModelIndex index = model->index(r, 0, parent);
        QVariant name = model->data(index);
        qDebug() << name;
        // here is your applicable code
        if( model->hasChildren(index) ) {
            forEach(model, index);
        }
    }
}

QStandardItemModel model;
    QStandardItem* parentItem = model.invisibleRootItem();
    for (int i = 0; i < 4; ++i) {
        QStandardItem *item = new QStandardItem(QString("item %0").arg(i));
        for (int j = 0; j < 5; ++j) {
            item->appendRow(new QStandardItem(QString("item %0%1").arg(i).arg(j)));
        }
        parentItem->appendRow(item);
        parentItem = item;
    }
forEach(&model);
票数 24
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33124903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档