c++在qt中实现将一个存有数据的QAbstractItemModeld的第一列数据放到一个QStandardItemModel的第二列中
时间: 2024-03-12 20:50:26 浏览: 50
可以使用以下代码实现将QAbstractItemModel的第一列数据放到QStandardItemModel的第二列中:
```cpp
QAbstractItemModel *abstractModel; // 原始模型
QStandardItemModel *standardModel; // 目标模型
// 获取原始模型中第一列的数据
QList<QVariant> data;
for (int i = 0; i < abstractModel->rowCount(); i++) {
QModelIndex index = abstractModel->index(i, 0);
data.append(abstractModel->data(index));
}
// 将第一列数据添加到目标模型的第二列中
for (int i = 0; i < standardModel->rowCount(); i++) {
QModelIndex index = standardModel->index(i, 1);
standardModel->setData(index, data[i]);
}
```
这里假设原始模型已经被创建并包含了数据,目标模型也已经被创建。我们首先遍历原始模型的第一列,并将每个单元格的数据添加到一个QList<QVariant>中。然后,我们遍历目标模型的每一行,并将对应的第二列单元格设置为QList中相应位置上的数据。
阅读全文