c – Qt中的内存管理

前端之家收集整理的这篇文章主要介绍了c – Qt中的内存管理前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
大家好,
我对Qt内存管理有点怀疑,

让我们以Listview为例,在列表视图中,通过动态分配内存来添加每个项目.所以在这种情况下,我们需要手动删除所有的“新”编辑项目.

例如:

Qlistview *list = new Qlistview;
QStandardItemModel  *mModel = new QStandardItemModel();
list ->setModel(mModel);

for(int I =0;i<10;i++)
{
QsandardItem *item = new QsandardItem(“Hi”);
mModel->appendRow(item);
}

在这个例子中,项目应该手动删除

解决方法

QStandardItemModel拥有项目的所有权,因此当模型被破坏时,它们将被自动删除.您仍然需要删除模型本身(setModel()不会将模型的所有权转移到视图,因为一个模型可以被多个视图使用).

猜你在找的C&C++相关文章