大家好,我对Qt内存管理有一点疑问,
让我们以Listview为例,在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);
}
Run Code Online (Sandbox Code Playgroud)
在此示例中,应手动删除项目?
cha*_*lup 16
QStandardItemModel获取项目的所有权,因此在销毁模型时它们将自动删除.您仍然需要删除模型本身(setModel()不会将模型的所有权转移到视图,因为多个视图可以使用一个模型).
| 归档时间: |
|
| 查看次数: |
1577 次 |
| 最近记录: |