doc表示setModel
将创建并设置新的选择模型,替换之前使用setSelectionModel()
设置的任何模型。但是,旧的选择模型不会被删除,因为它可能在多个视图之间共享。如果不再需要,他们建议删除旧的选择模型。这是否也适用于默认选择模型?
答案 0 :(得分:4)
不,您不需要手动删除默认选择模型。默认选择模型由视图创建,它使用视图作为父项。因此,它将根据对象所有权被删除(如果您不更改选择模型的父级,则会自动删除。)
您可以查看qt来源:
void QAbstractItemView::setModel(QAbstractItemModel *model)
{
//...
QItemSelectionModel *selection_model = new QItemSelectionModel(d->model, this);
}