Название: QComboBox, его внутренняя модель и QDataWidgetMapper Отправлено: ranet от Октябрь 07, 2009, 15:08 Пытаюсь найти по форуму, как правильно привинчивать ComboBox к таблице.. захотелось как-то систематизировать найденное, чтобы его можно было использовать:)
Как я понял, у QComboBox'а есть своя внутренняя модель. И её можно заменить на другую, связанную с таблицей.. Но можно и заполнить QComboBox вручную: Код: void SitesDialog::CB_load() А вот как его правильно привинтить к таблице, чтобы сработало? просто Код: mapp->addMapping(sitdial_ui.town_CB, 1); Название: Re: QComboBox, его внутренняя модель и QDataWidgetMapper Отправлено: CroCIV от Октябрь 08, 2009, 07:43 Пытаюсь найти по форуму, как правильно привинчивать ComboBox к таблице.. захотелось как-то систематизировать найденное, чтобы его можно было использовать:) Как я понял, у QComboBox'а есть своя внутренняя модель. И её можно заменить на другую, связанную с таблицей.. Но можно и заполнить QComboBox вручную: Код: void SitesDialog::CB_load() А вот как его правильно привинтить к таблице, чтобы сработало? просто Код: mapp->addMapping(sitdial_ui.town_CB, 1); я бы написал так sitdial_ui.town_CB->setModel(qq), а qq обьявил бы не в функции CB_load(), а в классе SitesDialog, чтоб жил подольше ;) Название: Re: QComboBox, его внутренняя модель и QDataWidgetMapper Отправлено: ranet от Октябрь 08, 2009, 08:50 ... За sitdial_ui.town_CB->setModel(qq) - спасибо, мне в голову только вариант с циклом пришел! Он тоже работает, ComboBox заполняется элементиками, все нормально. Но я уткнулся в другое: дальше этот ComboBox хочется привинтить к другой таблице, не к той из которой он заполнялся. Попытка сделать это аналогично привинчиванию lineEdit не проходит, найти ответ в описании QComboBox - пока не нашел.. google делает смутные намеки, что нужно наверное делегата создавать.. Как и все тунеядцы, я инстинктивно пытаюсь уклониться ;D, но похоже придется..я бы написал так sitdial_ui.town_CB->setModel(qq), а qq обьявил бы не в функции CB_load(), а в классе SitesDialog, чтоб жил подольше ;) Название: Re: QComboBox, его внутренняя модель и QDataWidgetMapper Отправлено: CroCIV от Октябрь 08, 2009, 09:17 Но я уткнулся в другое: дальше этот ComboBox хочется привинтить к другой таблице, не к той из которой он заполнялся. Попытка сделать это аналогично привинчиванию lineEdit не проходит, найти ответ в описании QComboBox - пока не нашел.. google делает смутные намеки, что нужно наверное делегата создавать.. Как и все тунеядцы, я инстинктивно пытаюсь уклониться ;D, но похоже придется.. QDataWidgetMapper, на сколько я догадываюсь, создан для синхронизации с моделью не модельных виджетов, т.е. виджетов у которых нет своей модели. КуКомбоБокс ты можешь с QDataWidgetMapper заюзать к примеру так Код:
или у комбика есть еще свой лайн едит, заюзат который можно так Код:
Кароче, рекомендуют вначале книжку по теме прочитать, примеры посмотреть и руководства и уже после этого начать решать задачи ;) удачи Название: Re: QComboBox, его внутренняя модель и QDataWidgetMapper Отправлено: ranet от Октябрь 08, 2009, 09:31 Можно намного проще:
нашел: если для QlineEdit достаточно так написать: Код: my_mapper->addMapping(sitdial_ui.name_LE,3); то у QComboBox все сложнее :P, там еще один параметр нужно указывать: Код: my_mapper->addMapping(sitdial_ui.town_CB, 1, "currentText"); то есть там так и написано: Код: mapper->addmapping(departamentComboBox, Employee_DepartamentId) Название: Re: QComboBox, его внутренняя модель и QDataWidgetMapper Отправлено: ranet от Октябрь 08, 2009, 09:37 или у комбика есть еще свой лайн едит, заюзат который можно так Код:
Кароче, рекомендуют вначале книжку по теме прочитать, примеры посмотреть и руководства и уже после этого начать решать задачи ;) удачи |