Название: QDataWidgetMapper + QSqlRelationalTableModel + QComboBox, проблема Отправлено: morbit85 от Ноябрь 29, 2009, 19:10 Всем привет! Столкнулся с такой проблемой:
Имеется форма редактирования данных, для связи виджетов с конкретными полями используется QDataWidgetMapper. Модель маппера - QSqlRelationalTableModel, модель QComboBox на этой форме - одна из relationModel'ей модели маппера. Всё это добро отлично работает, изменение значения в QComboBox применяется при сабмите маппера. Если добавить запись в relationModel, она сразу же появляется в QComboBox, но если выбрать эту запись, то после сабмита маппера этот выбор не сохраняется в его модели и текущий выбор в QComboBox сбрасывается. Собственно вопрос - куда копать? Извините, если что-то непонятно описал, в случае чего - отдельные моменты поясню. БД - SQLite Qt 4.6 rc Название: Re: QDataWidgetMapper + QSqlRelationalTableModel + QComboBox, проблема Отправлено: morbit85 от Декабрь 10, 2009, 22:06 Неужели никто не сталкивался? Как вообще вы реализуете добавление записей в зависимые таблицы во время редактирования главной?
По поводу предыдущего поста - если выполнить submitAll() модели маппера - то всё начинает работать как надо, но все изменения в остальных полях сбрасываются (что вобщем-то не удивительно)... Название: Re: QDataWidgetMapper + QSqlRelationalTableModel + QComboBox, проблема Отправлено: kaa от Май 31, 2010, 12:31 Если еще актуально...
Здесь (http://pythonistaa.blogspot.com/2010/05/pyqt-relationmodel.html (http://pythonistaa.blogspot.com/2010/05/pyqt-relationmodel.html)) описано мое решение на PyQt и рекомендации к решению на Qt. В общем я справился с PyQt, а на чистом Qt по моему должно быть еще проще. Название: Re: QDataWidgetMapper + QSqlRelationalTableModel + QComboBox, проблема Отправлено: morbit85 от Май 31, 2010, 17:31 Спасибо конечно, но я уже всю архитектуру приложения перекроил, вообще отказался от маппера, использвал шаблон MVP.
Для решения проблемной задачи написал компонент, который позволяет и добавлять и редактировать записи в зависимой таблице (LineEdit + выпадающий ListView). Название: Re: QDataWidgetMapper + QSqlRelationalTableModel + QComboBox, проблема Отправлено: Mastersan от Декабрь 13, 2014, 00:15 Добавить:
mapper->setItemDelegate(new QSqlRelationalDelegate(this)); |