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