QTreeWidget下查询节点

在QTreeWidget下面有很多层节点的时候,当需要定位到节点时,就要找到这个节点,这里提供两种方法找节点:

//递归查找
QTreeWidgetItem *Dialog::findChildItemRecursion(QTreeWidgetItem *parent, QString name)
{
    if(parent->text(0) == name)
        return parent;
 
    int nCount = parent->childCount();
    for(int i=0;i<nCount;i++)
    {
        QTreeWidgetItem* childItem = findChildItemRecursion(parent->child(i),name);
        if(childItem != NULL)
        {
            return childItem;
        }
    }
 
    return NULL;
}
 
//遍历查找
QTreeWidgetItem *Dialog::findChildItemTraverse(QTreeWidgetItem *parent, QString name)
{
    QTreeWidgetItemIterator iter(parent);
    while(*iter)
    {
        if((*iter)->text(0) == name)
        {
            return (*iter);
        }
        ++iter;
    }
    return NULL;
}

From:QTreeWidget下查询节点

发布了1670 篇原创文章 · 获赞 357 · 访问量 234万+

猜你喜欢

转载自blog.csdn.net/tony2278/article/details/104541022