遍历QTreeView

转自:https://www.cnblogs.com/jiangson/p/11573475.html

一、如下图树形结构

  

二、实现代码

  model 为私有变量,QStandardItemModel *model;

 1 void ParamSettingDlg::GetNode()
 2 {
 3     for(int i = 0;i < model->rowCount() ;i++)
 4     {
 5         QStandardItem *item = model->item(i);
 6 
 7         qDebug() <<"item = " << item->text();
 8         GetItem(model->item(i) );
 9     }
10 }

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

 1 void ParamSettingDlg::GetItem(QStandardItem *item)
 2 {
 3     Q_ASSERT(item);
 4     if(item->hasChildren())
 5     {
 6         for(int i = 0;i < item->rowCount() ;i++)
 7         {
 8             QStandardItem * childitem = item->child(i);
 9             qDebug() << "childitem = " << childitem->text();
10             GetItem(childitem);
11         }
12     }
13 }

 

posted @ 2020-06-18 09:44  阳光下的小土豆  阅读(1345)  评论(0编辑  收藏  举报