关于查找treewidget子节点并替换该子节点的内容的有关问题

关于查找treewidget子节点并替换该子节点的内容的问题
本帖最后由 kenchan0752 于 2012-11-21 10:39:36 编辑 想实现这样的功能:
从handle_getTreeWidget中输入str_Name,在输入之前判断treewidget中是否存在相同的str_Name,如果相同则返回,不相同则添加子节点。

现在的问题是:
1. 当输入2个数据后,group->childCount() = 1;
2. 当我输入2个数据后,第3个数据如果跟第1个相同的话仍然被添加;
3. 第2个问题会循环。

请问该如何去改正这些代码?谢谢!
(treewidget用的是控件;
QTreeWidgetItem *group;
QTreeWidgetItem *item; 两个是全局变量)

void MainWindow::handle_getTreeWidget(QString str_Name)
{
    /*判断treewidget中是否有相同的devname,有则返回*/
    if(isExist_strName(str_Name))
    {
        return;
    }
    else
    {
        addchild(group, str_Name);
    }
}


group在构造函数里定义:
    group = new QTreeWidgetItem(ui->view_treeWidget);
    ui->view_treeWidget->setColumnCount(1);/*设置treeWidget只有1列显示*/
    group->setText(0, "data");



/*判断treewidget中是否有相同的devname*/
bool MainWindow::isExist_strName(QString str_Name)
{
    for(int i = 0; i < group->childCount(); i ++)
    {qDebug() << " mainwindow  count" << group->childCount(); 
        if(item->text(i) == str_Name)
        {
            return true;
        }
    }
    return false;
}

void MainWindow::addchild(QTreeWidgetItem *parent, QString str_Name)
 { 
    item = new QTreeWidgetItem();
    item->setText(0, str_Name);
    item->setIcon(0, QIcon(":/images/s.png"));
    parent->addChild(item);
 }
------最佳解决方案--------------------
用findItems查找试试
------其他解决方案--------------------
另外treewidget节点的总数一般怎么来获得?谢
------其他解决方案--------------------
问题已经解决了
------其他解决方案--------------------
用的其他的方法