QDataWidgetMapper и несколько QCombobox |
Здравствуйте, гость ( Вход | Регистрация )
QDataWidgetMapper и несколько QCombobox |
iCast |
21.7.2017, 0:30
Сообщение
#1
|
Студент Группа: Участник Сообщений: 22 Регистрация: 22.9.2012 Пользователь №: 3527 Спасибо сказали: 0 раз(а) Репутация: 0 |
Всем привет, столкнулся с такой проблемой.
Редактирую данные модели через QDataWidgetMapper. После того как сделал все приготовления, соединяю поля модели и вид:
ui->task и ui->car - это 2 комбобокса. Когда срабатывает mapper->submit() меняются данные в модели, из комбобокса ui->task, но если поменять местам строки
то наоборот, данные обновляются из комбобокса ui->car, но не обновляются в ui->task. Быть может я что-то делаю не так? Потому что маппер работает с несколькими lineEdit, но не в какую не хочет работать с несколькими QCombobox. Версия Qt: 5.9.0 |
|
|
Алексей1153 |
21.7.2017, 7:33
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
iCast, можно предположить, что model->fieldIndex("car_name") и model->fieldIndex("task_name") возвращают одинаковые значения. Проверь
Сообщение отредактировал Алексей1153 - 21.7.2017, 7:33 |
|
|
iCast |
21.7.2017, 12:26
Сообщение
#3
|
Студент Группа: Участник Сообщений: 22 Регистрация: 22.9.2012 Пользователь №: 3527 Спасибо сказали: 0 раз(а) Репутация: 0 |
iCast, можно предположить, что model->fieldIndex("car_name") и model->fieldIndex("task_name") возвращают одинаковые значения. Проверь
Все в порядке, сравнивая с таблицей Наверно нужно подробнее расписать. Есть слот, для редактирования: Раскрывающийся текст mainwindow.cpp
listauto.cpp
UPD если убрать политику ManualSubmit
все комбобоксы обновляются, но на ходу, а хотелось бы по кнопке... UPD2 Проблема решена. Совсем проглядел политику в строке где обновляю модель: modelListAuto->setEditStrategy(QSqlTableModel::OnFieldChange); OnFieldChange -> OnManualSubmit И да, не стоит забывать после того как делаем mapper->submit() сохранить в модели все это model->submitAll(); и политику маппера можно вернуть ManualSubmit Сообщение отредактировал iCast - 21.7.2017, 16:53 |
|
|
Текстовая версия | Сейчас: 23.11.2024, 8:28 |