您当前的位置: 首页 >  qt

每日出拳老爷子

暂无认证

  • 5浏览

    0关注

    135博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

如何方便地遍历Pyqt中treewidget组件的item

每日出拳老爷子 发布时间:2020-07-26 12:16:26 ,浏览量:5

需求背景

用带复选框的树形结构来选择文章的搜索范围,调用Sql时需要获得所有被选定为搜索范围的书籍名称,作为在数据库中进行搜索的条件。这就需要得到所有treewidget中checkstate为2(选中)的item的text值。

思路

网上有很多拷贝的帖子都是说用QTreeWidgetItemIterator,当然这个方法肯定可以实现,但我比较喜欢用现有的使用过的函数来尽可能多的实现自己的需求。所以我这里还是推荐用find函数配合For循环来实现树形结构下item的遍历。

具体实现
            items = self.treeWidget.findItems('', Qt.MatchContains|Qt.MatchRecursive, 0)
            for item in items:
                if item.parent() and not item.childCount() and item.checkState(0)==2:
                    checked_text_list.append(item.text(0))

Qt.MatchContains指的是模糊匹配 Qt.MatchRecursive指的是递归方式搜索,不然就只会搜索根目录 if item.parent() and not item.childCount() and item.checkState(0)==2意思是获得底层项目中复选框被选中的Item。

关注
打赏
1657016083
查看更多评论
立即登录/注册

微信扫码登录

0.0353s