Cam*_*ker 7 c++ qt qtreewidget qtreewidgetitem
如果顶级项目中没有子节点,我正在尝试删除顶级树窗口小部件项目.这样做的正确方法是什么?我似乎无法在Qt的文档中找到API调用.在顶级树窗口小部件项目上调用delete是否安全?我还没有遇到任何问题,但我想知道这是否安全.非常感谢.
if(topLevelTreeWidgetItem->childCount() > 1) {
topLevelTreeWidgetItem->removeChild(childItem);
}
else
{
delete topLevelTreeWidgetItem;
}
Run Code Online (Sandbox Code Playgroud)
Chr*_*ris 15
delete直接使用QTreeWidgetItem非常安全.
根据~QTreeWidgetItem()的文档:
销毁此树窗口小部件项目.该项目将从已添加它的QTreeWidgets中删除.这样可以随时删除项目.
我delete在实践中使用了很多QTreeWidgetItems,它运行得很好.
要删除顶级项目,请调用QTreeWidget::takeTopLevelItem方法,然后删除返回的项目:
delete treeWidget->takeTopLevelItem(index);
Run Code Online (Sandbox Code Playgroud)
其中index是要删除的项目的索引。