遍历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 }