QTableView 셀의 값을 변경하는 데 문제가 있습니다.QSqlQueryModel의 열 값에 액세스 할 수 없습니다.
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);
이 필드에는 값을 다시 구현해야합니다.
내가 액세스 오류라고 생각하지만 새로운 값을 설정하는 방법을 이해할 수 없습니다!
미안 해요, 난 당신이 QSqlRecord의 녹화에 작업입니다 태그 QSqlQueryModel
해결 방법 : SqlQueryModel은 읽기 전용이기 때문에 SqlTableModel을 사용하십시오. – Denis