无法访问 QSqlQueryModel 中的列值



我在更改QTableView单元格中的值时遇到一些问题。

ui->search_results->show();
int num = model->rowCount();
for (int i = 0; i<num; i++) {
    QSqlRecord rec = model->record(i);
    QString file_chron = rec.value(1).toString();
    QString file_age = get_file_agestring_from_chron(file_chron);
    //model->setData(model->index(i,1), QVariant(file_age), Qt::EditRole);
    rec.setValue(1,file_age);

看来这两种功能在循环中都能正常工作

    qDebug()<<rec.value(1).toString()+" "+rec.value(2).toString()+" "+rec.value(3).toString()+" "+rec.value(4).toString()+" "+rec.value(5).toString();
}

但在外部,我们有旧的价值观。

qDebug()<<model->data(model->index(3,1)).toString();
ui->search_results->setModel(model);
ui->search_results->hideColumn(4);

我需要重新实现这个字段中的值。

我认为这是访问错误,但我不明白如何设置新的值!

抱歉,我无法添加标签QSqlQueryModel

您正在对QSqlRecord rec进行操作;它是记录的副本,而不是对它的引用。至于设置数据,请参阅模型:setData函数

相关内容

  • 没有找到相关文章

最新更新