QT QListWidget.addItem(..) - 当项目被释放或 QT 处理它时

mat*_*tnz 2 memory-leaks qt4

我使用 addItem(QListWidetItem *) 方法将堆上的项目添加到 QListWidget。

我找不到任何文档来指示 QT 是否管理项目内存并在从列表中删除该项目时释放它,或者我的应用程序代码是否应该跟踪并删除该项目。

有什么要求?任何人都可以向我指出有关 QT 和内存管理的简明文档,以避免泄漏。

Dar*_*sig 5

该文档对此非常粗略。事实上,QListWidget 拥有该项目的所有权并删除它,或者尝试删除它(clear()例如,如果您查看视图)。

在遇到类似问题后,我通过查看 Qt 代码发现了这一点。文档中对此的唯一指示是发出警告,表明您不得两次添加相同的项目。