Qt 遍历QTreeView 获取所有节点数据

一、如下图树形结构

  

二、实现代码

void ParamSettingDlg::FuzzySearchSlot()
{

    for(int i = 0;i < model->rowCount() ;i++)
    {
        QStandardItem *item = model->item(i);

        qDebug() <<"item = " << item->text();
        GetItem(model->item(i) );
    }

}

GetItem为递归函数,这样可以遍历到所有的节点

void ParamSettingDlg::GetItem(QStandardItem *item)
{
    Q_ASSERT(item);


    if(item->hasChildren())
    {
        for(int i = 0;i < item->rowCount() ;i++)
        {
            QStandardItem * childitem = item->child(i);
            qDebug() << "childitem = " << childitem->text();
            GetItem(childitem);
        }
    }
}

猜你喜欢

转载自www.cnblogs.com/jiangson/p/11573475.html