Qt删除TreeWidget节点

来源:互联网 发布:mac samba客户端 编辑:程序博客网 时间:2024/06/07 18:15
void OpenLiveSyncMainWindow::deleteItem(){    QTreeWidgetItem* item=ui->pluginTreeWidget->currentItem();//获得当前节点    if(NULL==item)//没有选择节点        return;    QTreeWidgetItem* parent=item->parent();//获得当前节点的父节点    int index;//top节点的索引号    if(NULL==parent)//item就是top节点    {        QString fileName=item->text(0);//获得top节点的文本字符(即影像路径)        for (int i=0;i<imageList->size();i++)        {            if (fileName==imageList->at(i))            {                index=i;                break;            }        }        ui->pluginTreeWidget->takeTopLevelItem(index);//去除节点 Removes the top-level item at the given index in the tree and returns it        imageList->removeAt(index);//移除容器index处内容        //释放掉存放节点的内存空间        for (int i=0;i<imageList->size();i++)        {            QTreeWidgetItem* childItem=item->child(0);            delete childItem;            childItem=NULL;        }        delete item;        item=NULL;    }    else//parent才是top节点    {        QString fileName=parent->text(0);//获得top节点的文本字符(即影像路径)        for (int i=0;i<imageList->size();i++)        {            if (fileName==imageList->at(i))            {                index=i;                break;            }        }        ui->pluginTreeWidget->takeTopLevelItem(index);//去除节点 Removes the top-level item at the given index in the tree and returns it        imageList->removeAt(index);//移除容器index处内容        //释放掉存放节点的内存空间        for (int i=0;i<imageList->size();i++)        {            item=parent->child(0);            delete item;            item=NULL;        }        delete parent;        parent=NULL;    }}

原创粉丝点击