我使用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是所选项目,在我的例子中是文件夹apps的子项。 我试图删除删除并用
之类的东西替换它ItParent = myItem->parent();
myItem->parent()->removeChild(myItem);
if(ItParent != NULL)
ItParent->setChildIndicatorPolicy(QTreeWidgetItem::ShowIndicator);
它不能正常工作
有什么想法吗?