QT QListWidget.addItem(..) - 当项目被释放或 QT 处理它时
我使用 addItem(QListWidetItem *) 方法将堆上的项目添加到 QListWidget。
我找不到任何文档来指示 QT 是否管理项目内存并在从列表中删除该项目时释放它,或者我的应用程序代码是否应该跟踪并删除该项目。
有什么要求?任何人都可以向我指出有关 QT 和内存管理的简明文档,以避免泄漏。
I am adding items that are on the heap to a QListWidget, using the addItem(QListWidetItem *) method.
I cannot find any documentation indicating if QT manages the items memory and frees it when the item is removed from the list, or if the my application code should track and delete the item.
What is the requirement? Can anyone point me to concise documentation on QT and memory management to avoid leaks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
该文档对此非常粗略。
事实上,QListWidget 获得了该项目的所有权并将其删除,或者例如在您
clear()
视图时尝试删除它。在遇到类似问题后,我通过查看 Qt 代码发现了这一点。
文档中对此的唯一指示是发出警告,表明您不得两次添加相同的项目。
The documentation ist quite sketchy on this one.
Fact is, that the QListWidget takes ownership over the item and deletes it, or attempts to delete it if you
clear()
the view for example.I found out about this by looking at the Qt code after I ran into a similar problem.
The only indication to this in the documentation is that there is a warning issued that you mustn't add the same item twice.