First, following the tree structure in FIG.
Second, the implementation code
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 recursive function, so that all the nodes may be traversed
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); } } }