QTreeWidgetItem是ChildIndicator的奇怪行为

时间:2015-05-06 22:21:52

标签: c++ qt qtreewidgetitem

我使用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);

我得到了这个:

enter image description here

并在展开时

enter image description here

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

enter image description here

删除代码只是

删除项目;

其中Item是所选项目,在我的例子中是文件夹apps的子项。 我试图删除删除并用

之类的东西替换它
ItParent = myItem->parent();
myItem->parent()->removeChild(myItem);
if(ItParent != NULL)
   ItParent->setChildIndicatorPolicy(QTreeWidgetItem::ShowIndicator);

它不能正常工作

有什么想法吗?

0 个答案:

没有答案