QTreeView中finditems查找子项

原创 2016年05月31日 10:38:57

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,可以找到所有被选中的元素,便于取用这些元素。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

TypeScript List Item Event Bind to ViewModel's Function(TypeScript 列表子项点击事件绑定ViewModel的函数)

: Details

ListView的动画展示子项

  • 2015-06-24 08:52
  • 2.76MB
  • 下载

安卓ExpandableListView长按监听判断点击的item属于哪个group(群组)和child(子项)

安卓的ExpandableListView 继承自ListView,扩展了一些功能,实现的效果类似于QQ的好友分组。如图: 但是 ExpandableListView 提供了setOnGroupCl...

GridItem子项增加删除操作

  • 2015-05-29 10:25
  • 1.71MB
  • 下载

GridView其子项充满其父类

最近要做一个是日程管理的工具,而其中有一个界面类似于Google自带的日历(Calendar)的月查看的视图,就是有一个7例6行的表格要占满整个指定区域。一开始我就想用GridView来做,然而在开发...

ListView添加子项动画效果

  • 2017-08-25 09:31
  • 18.89MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)