我試圖用QObject
樹刪除機制來刪除存儲在列表中的列表和所有QObject
。 Qt仍然是我本週的區域...QObject將QList設置爲父級使用setParent()
QList<QObject*>* list = new QList<QObject*>();
QObject* obj1 = new QObject();
QObject* obj2 = new QObject();
obj1->setParent(obj2);
obj2->setParent((QObject*)list);
我在最後一行得到了「分段錯誤」。 QList
不能作爲父母使用嗎?它不是從QObject
繼承嗎?
編輯:
主要的問題 - 是它可以方便刪除列表,無需擴展QList
類的所有列表元素?這需要由客戶調用,因此它必須簡單。
我想簡單地調用:
delete list;
,而不是
qDeleteAll(list);
delete list;
最大的問題是你爲什麼動態分配整個列表。爲什麼它不只是一個''QList list''? –
2013-04-22 09:38:12
不可能與QList - 你可以使用QSharedPointer。 –
2013-04-22 11:31:54