目前了解到的有两种方法:
1:通过findItems 过滤出符合条件的item
只是用于简单的过滤,复杂的效果不太好, 推荐第二种
QList<QTreeWidgetItem*> findItems(const QString &text, Qt::MatchFlags flags,
int column = 0) const;
QList<QTreeWidgetItem*> MatchItem = ui->treeWidget->findItems("检测报告", Qt::MatchExactly|Qt::MatchRecursive, 0);
for(auto item: MatchItem)
{
item->setHidden(true);
}
2: 遍历整个item 通过条件判断
QTreeWidgetItemIterator it(ui->treeWidget);
while (*it)
{
if((*it)->text(0) == "检测报告")
{
(*it)->setHidden(true);
}
++it;
}
具体项目需求:只查看检测报告这节点**
while (*it)
{
if((*it)->text(0) != "检测报告" && (*it)->parent()!=nullptr)
{
if((*it)->parent()->text(0) != "检测报告")
{
(*it)->setHidden(check);
}
}
++it;
}
效果如图:
今天的文章QTreeWidget过滤子item分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/9130.html