7

如何通过文本在 QTreeWidgetItem 中查找项目?有 QTreeWidget 的 findItem 方法的类似物吗?

4

1 回答 1

13

我相信您正在寻找的是 QTreeWidget 中的递归搜索。为此,您将不得不使用Qt::MatchContains | Qt::MatchRecursiveas 标志的组合。

因此,如果 pMyTreeWidget 是指向您的指针,QTreeWidget而 myText 是QString包含您要搜索的文本,假设搜索必须在第 0 列,则代码将类似于:

QList<QTreeWidgetItem*> clist = pMyTreeWidget->findItems(myText, Qt::MatchContains|Qt::MatchRecursive, 0);
foreach(QTreeWidgetItem* item, clist)
{
    qDebug() << item->text(0);
}

如果您的要求是匹配确切的文本,那么您可以使用Qt::MatchExactly|Qt::MatchRecursive而不是Qt::MatchContains|Qt::MatchRecursive

于 2015-04-17T10:15:19.050 回答