我已经使用 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);
它不起作用
任何想法 ?