Qt模型赋值后,新模型数据修改不改变原模型数据

在Qt中,修改listTabel(新模型)的数据模型而不改变m_tableView(原模型)的数据模型,需要为listTabel创建一个独立的数据模型,通过深拷贝数据来实现。可以与m_tableView的数据模型分离开来。

假设m_tableView已经有一个模型m_model

QStandardItemModel *m_model = new QStandardItemModel();
// 初始化 m_model...
m_tableView->setModel(m_model);

QTableView *listTabel = new QTableView();

// 创建一个新的模型
QStandardItemModel *newModel = new QStandardItemModel(m_model->rowCount(), m_model->columnCount());

// 复制数据
for (int row = 0; row < m_model->rowCount(); ++row) {
    for (int column = 0; column < m_model->columnCount(); ++column) {
        QModelIndex index = m_model->index(row, column);
        QStandardItem *item = m_model->itemFromIndex(index);
        QStandardItem *newItem = item->clone();
        newModel->setItem(row, column, newItem);
    }
}

// 将新的模型设置给 listTabel
listTabel->setModel(newModel);
 

  • 15
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值