浪迹江湖 |
2021-03-26 12:23 |
qtreeview怎么遍历删除所有子节点
我想删除qtreeview某个节点下的所有子节点,每一个节点用的是qstandarditem,方法如下,麻烦大侠帮我改进下,感谢! void DirTreeView::deleteChildrenItems(QStandardItem *root_item) { Q_ASSERT(root_item); if(root_item->hasChildren()) { for(int i = 0;i < root_item->rowCount() ;i++) { QStandardItem * childitem = root_item->child(i); if(!childitem->hasChildren()) { root_item->removeRow(i); //这条执行之后,子节点的rowCount数量就变了,i也没有意义了,所有这是错误 } else { deleteChildrenItems(childitem); } } } }
|
|