Есть у меня задумка, хочу сделать вкладку с QTableView, где каждый столбец - параметры программы, которые храняться в таблице, в ней есть колонки с ключами, которые ссылаются на данные в другой таблице (relationship). Я хочу пользователю предоставить возможность выбора или не выбора некоторых параметров из комбобокса. Для этого я использовал QTable View + QSqlRelationalTableModel + QSqlRelationalDelegate. Таблицы откуда берутся данные для комбобоксика по сути копии таблиц на сервере, сделано для уменьшения нагрузки на сервер и решения проблем с задержками при запросах.
Эти таблицы могут меняться, некоторые записи удаляться. В итоге в моей основной таблице могут существовать поля с ключами, которые уже не существуют. И тут возникает проблема, дело в том, что QSqlRelationalTableModel нифига не показывает такие строки считая их неверными. Но мне то надо дать пользователю возможно выбрать любое другое поле взамен несуществующего. Есть какая-нибудь возможность заставить эту модель показывать все строки ? Или опять придется изобретать велосипед ?
В общем думаю отказаться от этой модели, увидел такую запись в исходном коде QtSqlRelationaDelegate где идет выбор итема комбика по тексту:
combo->setCurrentIndex(combo->findText(sqlModel->data(index).toString()));
Для меня не приемлимо, я все-таки придерживаюсь того, что итемы с одинаковым именем могут иметь разные ключи в базе. Придется свой делегат делать на основе QStandartItemModel