crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QDataWidgetMapper и несколько QCombobox
iCast
  опции профиля:
сообщение 21.7.2017, 0:30
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 22
Регистрация: 22.9.2012
Пользователь №: 3527

Спасибо сказали: 0 раз(а)




Репутация:   0  


Всем привет, столкнулся с такой проблемой.
Редактирую данные модели через QDataWidgetMapper.
После того как сделал все приготовления, соединяю поля модели и вид:
QSqlTableModel *modelTask = model->relationModel(model->fieldIndex("task_name"));
ui->task->setModel(modelTask);
ui->task->setModelColumn(modelTask->fieldIndex("name"));

QSqlTableModel *modelCar = model->relationModel(model->fieldIndex("car_name"));
ui->car->setModel(modelCar);
ui->car->setModelColumn(modelCar->fieldIndex("name"));
//....
mapper->setModel(model);
mapper->setItemDelegate(new QSqlRelationalDelegate(this));
mapper->addMapping(ui->dateEdit,model->fieldIndex("date"));
mapper->addMapping(ui->task,model->fieldIndex("task_name"));
mapper->addMapping(ui->car,model->fieldIndex("car_name"));

ui->task и ui->car - это 2 комбобокса.
Когда срабатывает mapper->submit() меняются данные в модели, из комбобокса ui->task, но если поменять местам строки
mapper->addMapping(ui->car,model->fieldIndex("car_name"));
mapper->addMapping(ui->task,model->fieldIndex("task_name"));

то наоборот, данные обновляются из комбобокса ui->car, но не обновляются в ui->task.

Быть может я что-то делаю не так? Потому что маппер работает с несколькими lineEdit, но не в какую не хочет работать с несколькими QCombobox.
Версия Qt: 5.9.0
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 20.1.2021, 13:33