如何从 QTreeWidget 中删除顶级 QTreeWidgetItem?

发布于 2025-01-07 22:40:57 字数 294 浏览 6 评论 0原文

如果顶级项目中没有子节点,我正在尝试删除顶级树小部件项目。这样做的正确方法是什么?我似乎无法在 Qt 的文档中找到 API 调用。仅在顶级树小部件项上调用删除是否安全?我还没有遇到任何问题,但我想知道这是否安全。非常感谢。

if(topLevelTreeWidgetItem->childCount() > 1) {
  topLevelTreeWidgetItem->removeChild(childItem);
}
else
{
  delete topLevelTreeWidgetItem;
}

I'm attempting to remove a top level tree widget item if there are no child nodes within the top level item. What is the correct way to do this? I can't seem to find the API call within Qt's documentation. Is it safe to just call delete on the top level tree widget item? I haven't run into any issues yet, but I'd like to know if that's safe practice. Thanks much.

if(topLevelTreeWidgetItem->childCount() > 1) {
  topLevelTreeWidgetItem->removeChild(childItem);
}
else
{
  delete topLevelTreeWidgetItem;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

小瓶盖 2025-01-14 22:40:57

直接删除QTreeWidgetItem是完全安全的。

根据 ~QTreeWidgetItem() 的文档:

销毁此树小部件项目。该项目将从中删除
它已添加到的 QTreeWidgets。这使得删除变得安全
任何时候的一个项目。

我在实践中对许多 QTreeWidgetItems 使用了 delete 并且效果很好。

deleteing a QTreeWidgetItem directly is perfectly safe.

According to the documentation for ~QTreeWidgetItem():

Destroys this tree widget item. The item will be removed from
QTreeWidgets to which it has been added. This makes it safe to delete
an item at any time.

I've used delete on many QTreeWidgetItems in practice and it works quite well.

楠木可依 2025-01-14 22:40:57

要删除顶级项目,请调用 QTreeWidget::takeTopLevelItem 方法并然后删除返回的项目:

delete treeWidget->takeTopLevelItem(index);

其中index是要删除的项目的索引。

To delete a top level item call QTreeWidget::takeTopLevelItem method and then delete the returned item:

delete treeWidget->takeTopLevelItem(index);

Where index is index of the item to be removed.

浮萍、无处依 2025-01-14 22:40:57

函数 takeChild 仅适用于 QTreeWidgetItem。对于 QtreeWidget,您可以使用 QtreeWidget::takeTopLevelItem(int index)

Function takeChild only works with QTreeWidgetItem. With QtreeWidget, you can use QtreeWidget::takeTopLevelItem(int index)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文