遍历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 }
复制代码

 

posted @   阳光下的小土豆  阅读(1363)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示