1、需求:查找QTreeWidget中满足条件的QTreeWidgetItem显示,不满足条件的隐藏
2、接口QTreeWidgetItem::setHidden(bool), true为隐藏,false为显示
void OnFindItem(const QString &qsFilter)
{
QTreeWidgetItemIterator it(ui->treeWidget);
while (*it)
{
//QTreeWidgetItem是否满足条件---这里的条件可以自己修改
if((*it)->text(0).contains(qsFilter))
{
(*it)->setHidden(false);
QTreeWidgetItem *item = *it;
//显示父节点
while (item->parent())
{
item->parent()->setHidden(false);
item = item->parent();
}
}
else
{
//不满足满足条件先隐藏,它的子项目满足条件时会再次让它显示
(*it)->setHidden(true);
}
++it;
}
}