при выделении строки в tableview код работает, удаление происходит.
а при выделении одной ячейки выбивает ошибку :
ASSERT: "!isEmpty()" in file C:/Qt/5.8/mingw53_32/include/QtCore/qlist.h, line 344
эта строчка:
inline T& first() { Q_ASSERT(!isEmpty()); return *begin(); }
код участка, где проверка на выделение стоит:
QSqlQueryModel *setquery1 = new QSqlQueryModel;
QSqlTableModel *model = new QSqlTableModel;
QItemSelectionModel *selectModel = ui->tableView->selectionModel();
if (selectModel->hasSelection())
{
int nr = selectModel->selectedRows().first().row();
ui->dir_excel->setText(ui->tableView->model()->data(ui->tableView->model()->index(nr,0)).toString());
if (QMessageBox::Yes == QMessageBox::question(this, "Удалить?",
"Уверены?",
QMessageBox::Yes|QMessageBox::No))
{
ui->dir_excel->setText(ui->tableView->model()->data(ui->tableView->model()->index(nr,0)).toString());
QString indid = ui->tableView->model()->data(ui->tableView->model()->index(nr,0)).toString();
setquery1->setQuery("DELETE FROM ships WHERE id="+indid+";");
model->setTable("ships");
model->select();
ui->tableView->setModel(model);
}
}