Создаем модель и подключаем к TableView
m_accountsModel = new QSqlTableModel(this, db);
m_accountsModel->setTable("accounts");
m_accountsModel->setEditStrategy(QSqlTableModel::OnManualSubmit);
m_accountsModel->select();
m_accountsModel->setHeaderData(0, Qt::Horizontal, tr("ID"));
m_accountsModel->setHeaderData(1, Qt::Horizontal, tr("Login"));
m_accountsModel->setHeaderData(2, Qt::Horizontal, tr("Password"));
m_accountsModel->setHeaderData(3, Qt::Horizontal, tr("Status"));
m_accountsModel->setHeaderData(4, Qt::Horizontal, tr("Errors"));
m_accountsModel->setHeaderData(5, Qt::Horizontal, tr("Tryings"));
ui.m_viewAccounts->setModel(m_accountsModel);
//ui.m_viewAccounts->setColumnHidden(0, true);
Вставка:
QModelIndex insertIndex = ui.m_viewAccounts->currentIndex();
QSqlRecord record = model->record();
//record.setValue( "id", NULL);
record.setValue( "login", ui.m_edLogin->text());
record.setValue( "password", ui.m_edPassword->text());
record.setValue( "status", 0);
int row=model->rowCount();
model->insertRow(row);
bool ok = model->setRecord(row, record);
model->submitAll();
//model->select();
Поля status, trying, errors - в бд объявлены как INTEGER.
В процессе экспериментов со вставкой получалось что они редактировались спинбоксом, автоматически.
В этом варианте - все поля редактируются эдитом.
Как назначить Спин для целых полей?