Как мне отредактировать конкретный файл в QSqlTableModel

Я хочу отобразить таблицу из базы данных и отобразить ее, но также хочу изменить конкретный столбец на основе функции

QSqlTableModel *model = new QSqlTableModel(parentObject, database);
model->setTable("employee");
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
model->select();
model->setHeaderData(0, Qt::Horizontal, tr("Name"));
model->setHeaderData(1, Qt::Horizontal, tr("Salary"));
model->setHeaderData(2, Qt::Horizontal, tr("encrypted_item"));
QTableView *view = new QTableView;
view->setModel(model);
view->hideColumn(0); // don't show the ID
view->show();

Но теперь вместо того, чтобы печатать зашифрованный объект, я хочу расшифровать и отобразить его. Как я могу это сделать?

1

Решение

Вы должны использовать QSqlQueryModel и установите желаемый запрос, но вы знаете, QSqlQueryModel не редактируется Решение состоит в том, чтобы подкласс QSqlQueryModel и переопределить Qt::ItemFlags QAbstractItemModel::flags ( const QModelIndex & index ) const метод, который возвращает набор флагов, где Qt::ItemIsEditable установлено. Вы можете найти хороший пример редактируемого QSqlQueryModel Вот.

1

Другие решения


По вопросам рекламы [email protected]