0

我已经使用 QTreeWidget 并基于 QTreeWidgetItem 开发了一个应用程序。该应用程序类似于文件浏览器。每次我必须显示一个文件夹时,我都会这样创建它:

    item->setText(0, foldername);
    item->setText(1,"--");
    item->setText(2,"--");
    item->setIcon(0,QIcon(":/Images/folder_pic.png"));
    item->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsDropEnabled | Qt::ItemIsEditable);
    item->setChildIndicatorPolicy(QTreeWidgetItem::ShowIndicator);

我得到了这个:

在此处输入图像描述

当展开这个

在此处输入图像描述

这工作正常,但是当我删除文件夹“NewFolder”时,即使此父文件夹的指示器已设置为始终显示指示器,我也会丢失父文件夹的指示器

在此处输入图像描述

删除代码只是

删除项目;

其中 Item 是选定的项目,在我的情况下是文件夹应用程序的子项。我试图删除删除并用类似的东西替换它

ItParent = myItem->parent();
myItem->parent()->removeChild(myItem);
if(ItParent != NULL)
   ItParent->setChildIndicatorPolicy(QTreeWidgetItem::ShowIndicator);

它不起作用

任何想法 ?

4

0 回答 0