QListView的默认选择模型的所有权
Ownership of default selection model of QListView
文档声明setModel
将创建并设置一个新的选择模型,替换之前用setSelectionModel()
设置的任何模型。但是,旧的选择模型不会被删除,因为它可以在多个视图之间共享。他们建议删除旧的选择模型,如果它不再需要。这也适用于默认选择模型吗?
不需要,您不需要手动删除默认选择模型。默认选择模型是由视图创建的,它使用视图作为父视图。因此,它将根据对象所有权被删除(如果您不更改选择模型的父级,则会自动删除)。
您可以查看qt源代码:
void QAbstractItemView::setModel(QAbstractItemModel *model)
{
//...
QItemSelectionModel *selection_model = new QItemSelectionModel(d->model, this);
}
相关文章:
- QTableView:endMoveRows在模型中重置水平页眉大小
- 将IBM Rhapsody模型集成到VS 2019中
- 旋转模型矩阵时的形状失真
- 我是否需要在下一次转移时将所有权*转移回转移队列
- 智能指针概念所有权和寿命
- 成员函数调用和C++对象模型
- 连接 dockerized 模型和 dockerized 数据库时出现"无法 SQLConnect"错误
- 打印 ONNXRUNTIME::图形没有模型
- C++内存模型和位字段的最大序列
- 使用SIR模型的疾病爆发模拟
- Qt - QVector 和模型视图 - 从列表视图获取自定义类的最佳方法是什么?
- 如何在 ECS 模型中组织实体?
- 在官方张量流 resnet50 模型上运行 tflite 精度工具
- Libtorch:如何加载ONNX模型?
- 使用 assimp 加载模型 - 不需要提升?
- 如何将经过训练的机器学习模型保存在python中并将其加载到C++中进行预测?
- C++内存模型中的确切规则阻止在获取操作之前重新排序
- 对象超出范围/转让所有权
- 工厂处理器模型中的任务所有权
- QListView的默认选择模型的所有权