首页 > 其他分享 >递归遍历QTreeView+QStandrdItemModel

递归遍历QTreeView+QStandrdItemModel

时间:2023-08-08 10:22:36浏览次数:36  
标签:index QStandrdItemModel 遍历 QTreeView int parentIndex column model row

//递归遍历

点击查看代码
void iterateTreeViewNodes(const QModelIndex& parentIndex, QStandardItemModel* model, QVector<QStandardItem*>& items)
{
	int rowCount = model->rowCount(parentIndex);
	int columnCount = model->columnCount(parentIndex);	
    for (int row = 0; row < rowCount; ++row) {
		for (int column = 0; column < columnCount; ++column) {
			QModelIndex index = model->index(row, column, parentIndex);
			QStandardItem* item = model->itemFromIndex(index);
			items.push_back(item);
			iterateTreeViewNodes(index, model, items);
		}
	}
}
//调用:IterateTreeViewNodes(QModelIndex(), m_pStandardItemModel);

标签:index,QStandrdItemModel,遍历,QTreeView,int,parentIndex,column,model,row
From: https://www.cnblogs.com/kinglxg/p/17613487.html

相关文章

  • 二维数组花式遍历(旋转,螺旋) [labuladong-刷题打卡 day5]
    矩阵旋转48.旋转图像难点主要在于:用翻转和镜像处理逆反和旋转,和逆转单词一样“难者不会,会者不难”,思路简单镜像的坐标对应关系处理语言特性的利用,不同语言有不同api,实际代码中会有很大不同,但思想一致如果确定矩阵维数,通过线性代数应该可以直接计算答案...classSolution......
  • python中字典的循环遍历的两种方式
    开发中经常会用到对于字典、列表等数据的循环遍历,但是python中对于字典的遍历对于很多初学者来讲非常陌生,今天就来讲一下python中字典的循环遍历的两种方式。注意:python2和python3中,下面两种方法都是通用的。1.只对键的遍历一个简单的for语句就能循环字典的所有键,就像处理序列一......
  • DFS 算法模板——二叉树的遍历非递归写法要会,排列组合的一定要自己画一颗树,变量i和当
    dfs算法模板:1、下一层仅2个节点的dfs,也就是二叉树的dfs先序遍历,迭代和递归写法都要熟悉:defpreoder_traversal(root):ifnotroot:returnstack=[root]whilestack:node=stack.pop()dosomethingwithnodeifnode.ri......
  • 二叉树遍历
    递归实现:前序遍历将根结点输入容器,然后对左子树进行先序遍历,再对右子树进行先序遍历1voidfrontfind(Node*node,vector<int>&vec){2if(node==nullptr){3return;4}5//非终止条件,非递归入口,只需考虑如果只有一个结点需要做什么6......
  • Java list的遍历方法
    1.把List当作一个数组,从数组的第一个位置开始循环到数组的最后位置for(inti=0;i<list.size();i++){System.out.println(list.get(i));}2.foreach 方法语法:for(数据类型变量名:数组){需要执行的语句块;//这里的变量名可以直接用}for(Integernum:li......
  • 什么是递归?如果你以前从来没写过递归函数,尝试着写一个(比如用递归函数进行目录树遍历)。
    递归是一种在算法或函数中调用自身的方法。在递归过程中,问题会被分解成一个或多个相似的子问题,然后这些子问题又会进一步被分解,直到达到最简单的情况,从而得到解决。递归在编程中是一种强有力的工具,特别适合解决那些具有递归结构的问题。举个例子,我们可以使用递归函数来实现目录树......
  • freemeker 遍历map嵌套list数据结构
    遍历嵌套数据结构渲染map中value是list的内容<#ifnodes??&&(nodes?size>0)>【节点明细】<#listnodes?keysasalarmLevel>${alarmLevel+":"}<#if(nodes[alarmLevel])??><#list(nodes[alarmLevel])asnode>${node.nodeNo}<#sep>,&......
  • 遍历xml
    递归遍历xml节点 voidTravelXmlNode(QDomElement&element){QDomNodenode=element.firstChild();while(!node.isNull()){QDomElementchildElement=node.toElement();//trytoconvertthenodetoanelement.if(!childElemen......
  • 二叉树的广度优先遍历
    二叉树的广度优先遍历层序遍历设二叉树的根节点所在层数为第一层,层序遍历就是从二叉树的根节点出发,先访问第一层的根节点,然后从左到右访问第2层上的节点,以此类推,自上而下,自左至右逐层访问树的结点的过程就是层序遍历。要想用代码实现队列的层序遍历我们需要借助队列:1、先把根......
  • 03-二叉树的遍历
    二叉树的遍历定义:遍历是数据结构中的常见操作把所有元素都访问一遍线性数据结构的遍历比较简单分为:正序遍历和逆序遍历根据结点访问顺序的不同,二叉树的常见遍历方式有4种前序遍历(PreorderTraversal)中序遍历(inorderTraversal)后序遍历(PostorderTraversal)层序遍......