QCombobox для foreign keys
Возникла следующая проблема. Я написал приложение, использующее БД. Изначально для отображения таблиц использовалась QSqlRelationalTableModel и foreign keys можно было изменять и добавлять внутри самого tableView. Выглядело это примерно так:
Но ввиду некоторых причин было решено сделать редактирование данных БД с помощью форм. Так вот вопрос, как мне передать в QCombobox формы при клике на tableView все используемыe в этой ячейке foreign keys?
Чтобы было примерно вот так (отображаться должны не индексы, а объекты на которые индексы ссылаются):
В первом случае код выглядел так:
model->setTable(sql_query);
model->setRelation(1, QSqlRelation("my_schema.aircrafts","id_aircraft","registration_number"));
model->setRelation(3, QSqlRelation("my_schema.airports","id_airport","name_airport"));
model->setRelation(4, QSqlRelation("my_schema.airports","id_airport","name_airport"));
model->setHeaderData(0, Qt::Horizontal, "Номер маршрута", Qt::DisplayRole);
model->setHeaderData(1, Qt::Horizontal, "Самолет", Qt::DisplayRole);
model->setHeaderData(2, Qt::Horizontal, "Наименование маршрута", Qt::DisplayRole);
model->setHeaderData(3, Qt::Horizontal, "Аэропорт вылета", Qt::DisplayRole);
model->setHeaderData(4, Qt::Horizontal, "Аэропорт приземления", Qt::DisplayRole);
model->select();
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
ui->tableView->setModel(model);
ui->tableView->setItemDelegateForColumn(1, new QSqlRelationalDelegate(this));
ui->tableView->setItemDelegateForColumn(3, new QSqlRelationalDelegate(this));
ui->tableView->setItemDelegateForColumn(4, new QSqlRelationalDelegate(this));
break;
Подскажите, пожалуйста, что нужно написать для второго случая.