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


一、如下图树形结构

  

 

二、实现代码

  model 为私有变量,QStandardItemModel *model;

void ParamSettingDlg::GetNode()
{
    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);
        }
    }
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM