我一直在阅读Qwidgets的所有权并删除它们。 如:http://qt-project.org/doc/qt-4.8/objecttrees.htmlQt; QWidget删除和删除。 setParent(NULL)是否必要?
这是说“你也可以删除子对象自己,他们会从他们的父母自行拆除”
但是很多我所看到的设置父为NULL删除之前的例子。 如:
if (widget != NULL)
{
layout->removeWidget(widget);
widget->setParent(NULL);
delete widget;
}
是否有任何需要的setParent(NULL);
?
从这个领先的,是没有任何理由,为什么我不能只是做一个
delete layout->itemAt(i);
或
delete layout->takeAt(i);
其实,有没有这最后两者之间有什么真正的区别? 我假设我所有的物体都堆在堆上。
非常好,这证实了我的想法。 我会避免删除layout-> itemAt(i)如果它不能被测试信任。谢谢! – Toby 2014-11-08 13:19:11