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; } }