Qt 按名称查找子节点
Posted xuyouzhu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt 按名称查找子节点相关的知识,希望对你有一定的参考价值。
1 TreeItem* TreeModel::GetItem(QStringList& list, TreeItem* parent ,int deep) 2 { 3 if( list.at(deep) == parent->data(0).toString()) 4 { 5 if( ++deep == list.count()) 6 return parent; 7 } 8 foreach(TreeItem* child,parent->childItems) 9 { 10 TreeItem* findItem = GetItem(list,child,deep); 11 if(findItem != nullptr) 12 return findItem; 13 } 14 return nullptr; 15 } 16 bool TreeModel::GetMapList(QStringList& list,QMap<QString,TreeItem *>& map) 17 { 18 foreach(QString path,list) 19 { 20 QStringList strlist = path.split(‘\‘); 21 TreeItem * item = GetItem(strlist,rootItem); 22 if( item != nullptr) 23 { 24 map.insert(path,item); 25 qDebug()<<"find Item:"<<item->data(0) <<item->data(1); 26 } 27 } 28 return true; 29 }
以上是关于Qt 按名称查找子节点的主要内容,如果未能解决你的问题,请参考以下文章
Qt编程 treeWidge->findItems (),只能找到根节点,子节点找不到,怎么解决?或者用啥方法找到子节点?