我试图用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