遍历QTreeView

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

一、如下图树形结构

  遍历QTreeView

二、实现代码

  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 }

 

上一篇:python – 拖放时保留QStandardItem子类


下一篇:用js面向对象写拖拽