我一直在閱讀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