QTreeView中finditems查找子项

QTreeView中finditems查找子项1、QListQStandardItemModel::findItems(constQString&text,Qt::MatchFlagsflags=Qt::MatchExactly,intcolumn=0)const不特殊指定第二个参数的情况下,此函数只会搜索TreeView的顶层元素,不会匹配子元素。第二个参数中加入“Qt::MatchContains|Q

大家好,又见面了,我是你们的朋友全栈君。

1、QList<QStandardItem *> QStandardItemModel::findItems(const QString & text, Qt::MatchFlags flags = Qt::MatchExactly, int column = 0) const

不特殊指定第二个参数的情况下,此函数只会搜索TreeView的顶层元素,不会匹配子元素。

第二个参数中加入“Qt::MatchContains | Qt::MatchRecursive”,则可以完成子元素的匹配。

不过,这个方法尤其局限性,即不能搜索特定角色(DataRole)的数据,而只是匹配DisplayRole的数据

 

2、virtual QModelIndexList match(const QModelIndex & start, int role, const QVariant & value, int hits = 1, Qt::MatchFlags flags = Qt::MatchFlags( Qt::MatchStartsWith | Qt::MatchWrap )) const

针对特定角色(DataRole)的数据,可以用此函数来解决,用处类似1所说,主要区别在于可以指定要匹配的数据角色(DataRole,第二个参数)

最后一个参数中加入“Qt::MatchContains | Qt::MatchRecursive”,则可以完成子元素的匹配,不加的话也是默认只匹配顶层元素。

 

用处举例:最后一个参数指定为Qt::CheckStateRole,可以找到所有被选中的元素,便于取用这些元素。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132015.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 工作流引擎Activiti入门-01

    工作流引擎Activiti入门-01工作流引擎 Activiti 入门工作流引擎工作流 BPMBPMNActiv 集成 Activiti 新建数据库新建项目 log4j 的配置 mysql 的配置生成 mysql 表流程操作 Activitibpmn 流程定义流程存储 部署流程启动任务查询任务处理工作流引擎工作流是指业务过程的部分或整体在计算机应用环境下的自动化 工作流主要解决的主要问题是 为了实现某个业务目标 利用计算机在多个参与者之间按某种预定规则自动传递文档 信息或者任务 BPMBPM BusinessProc

    2025年6月14日
    1
  • pycharm 安装 cv2 遇到的坑[通俗易懂]

    pycharm 安装 cv2 遇到的坑[通俗易懂]网上找了很多教程都没成功!window764位系统python3.6pycharmctrl+alt+s 找到opencv-python直接安装 完全没问题。

    2022年8月28日
    1
  • AnalyticDB_分布式分析型数据库

    AnalyticDB_分布式分析型数据库AnalyticDB分析型数据库本文初衷是为了学习归纳,若有错误,请指出。修改记录时间内容2020年9月13日第一次发布一、概述1.1定义​ 分析型数据库AnalyticDB(原名ADS)是阿里巴巴针对海量数据分析自主研发的实时高并发在线分析系统,可以针对万亿级别的数据进行多维度分析透视和业务探索。采用分布式计算,具有强大的实时计算能力。1.2特点​ 主要特点就是实时和高并发,可以针对万亿级别的数据进行多纬度分析透视和业务探索。兼容MySQL、B

    2022年9月17日
    0
  • 如何在Linux服务器上安装Anaconda(超详细)「建议收藏」

    目录1.安装Anaconda1.1下载anaconda的安装包1.2解决安装出现的bug1.3安装anaconda1.4点击Enter(回车键)1.5输入yes1.6继续点击Enter1.7输入yes,添加环境变量1.8完成安装以及检测是否安装成功2.Anaconda安装Pytorch2.1创建虚拟环境2.2激活环境2.3测试安装成功3.参考文献1.安装Anaconda1.1下载anaconda的安装包这里我们需要在官网上查找自己需要的版本,地址链接在下面:h

    2022年4月16日
    716
  • APAP调试代码_udp调试工具

    APAP调试代码_udp调试工具用来调试的matlab代码%————————————————————————-%As-Projective-As-PossibleImageStitchingwithMovingDLT%(PatentPending)

    2022年9月22日
    1
  • 平行运算:Parallel.For、Parallel.Foreach的体验式试用[通俗易懂]

    平行运算:Parallel.For、Parallel.Foreach的体验式试用[通俗易懂]在编程里面我们经常会遇到编历一个列表或数组做同一件事情或操作,当这个数组或列表很大时又或是需要进行很复杂的操作时,就会花费很长的时间。以前我就在想能不能在这种情况下使用多线程的方式提高效率,可惜一直都没机会和动力(实际需要)去研究。今天在网上查找资料,很偶然的发现.NETFramework4.0中平行算法相关内容(Parallel.For、Parallel.Foreach),原来.NET已经实

    2022年7月19日
    16

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号