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

QTreeWidget的用法 【博客园】

 http://www.cnblogs.com/bingcaihuang/archive/2010/12/30/1921332.html 2010-12-30 09:02 by bingcaihuan...
  • fjiale
  • fjiale
  • 2011年06月22日 23:51
  • 11701

Android中ListView子项margin失效解决办法

Android中ListView子项margin失效解决办法

ListView的动画展示子项

  • 2015年06月24日 08:52
  • 2.76MB
  • 下载

关于Android中ExpandableListView子项是Button控件而单击事件没有响应的问题

我是个萌新,请指教

GridItem子项增加删除操作

  • 2015年05月29日 10:25
  • 1.71MB
  • 下载

ListView添加子项动画效果

  • 2017年08月25日 09:31
  • 18.89MB
  • 下载

利用ListView可控制添加每一列子项及删除功能

前言:这是我的第一次前言,没什么好说的,意思就是自定义ListView的适配器,ListView要想用的好,还得看适配器好不好使。这篇文章主要讲适配器,先给出适配器吧:import android.c...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:QTreeView中finditems查找子项
举报原因:
原因补充:

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