gpt4 book ai didi

qt - 如何正确删除 QGraphicsItem?

转载 作者:行者123 更新时间:2023-12-03 13:58:25 24 4
gpt4 key购买 nike

我应该怎么做才能删除 QGraphicsItem?

从我使用的场景中删除项目

 QGraphicsScene::removeItem(QGraphicsItem * item);

来自此方法的文档:

i.e., QGraphicsScene will no longer delete item when destroyed



所以我只看到一种方式:
delete item;

但可能是另一个?例如 QWidget 能够设置属性
setAttribute( Qt::WA_DeleteOnClose );

这会导致删除对象。 QGraphicsItem 可能有类似的东西吗?

最佳答案

不幸的是, QGraphicsItem 是内部可用的所有图形项的基类 QGraphicsScene ,并且,作为 Qt 中的大多数“类项目”对象,并非源自 QWidgetQObject .此外,它们只能是另一个 QGraphicsItem 的父级。 (除了被 QGraphicsScene 所有。

从场景中移除一个项目后,除非它是另一个 QGraphicsItem 的父级, Qt 期望程序员通过调用 delete item; 手动删除它明确地(或使用智能指针来管理项目被删除后的生命周期)。

关于qt - 如何正确删除 QGraphicsItem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27188538/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com