Russian Qt Forum

Qt => Базы данных => Тема начата: twist от Июль 08, 2008, 18:04



Название: Привязать QLineEdit к полю таблицы
Отправлено: twist от Июль 08, 2008, 18:04
Всем доброго времени суток,
собственно сабж.
зы: решил посмотреть как взаимодействует qt с бд, никак не могу вьехать в механизм работы. Гдето там далеко на сервере есть у нас субд, в ней база с целевой таблицей. Для организации взаимодействия с таблицей на скок я понял удобно использовать QSqlTableModel,который будет являться источником данных для всяких view. А как поступить в случае с QLineEdit? Т.е. что бы вносимые изменения в эдите сразу ,или не сразу,отражались в базе. В имеющихся у меня книгах и примерах к либе ответ не нашел  :-\
зызы: критика приветствуется ;D


Название: Re: Привязать QLineEdit к полю таблицы
Отправлено: Mikhail от Июль 08, 2008, 19:38
Всем доброго времени суток,
собственно сабж.
зы: решил посмотреть как взаимодействует qt с бд, никак не могу вьехать в механизм работы. Гдето там далеко на сервере есть у нас субд, в ней база с целевой таблицей. Для организации взаимодействия с таблицей на скок я понял удобно использовать QSqlTableModel,который будет являться источником данных для всяких view. А как поступить в случае с QLineEdit? Т.е. что бы вносимые изменения в эдите сразу ,или не сразу,отражались в базе. В имеющихся у меня книгах и примерах к либе ответ не нашел  :-\
зызы: критика приветствуется ;D

Посмотри пример $(QTDIR)/examples/sql/relationaltablemodel.
Показано взаимодействие с БД. Несколько видов редакторов: QComboBox и QLineEdit. Результат редактирования сразу фиксируется в БД.
Какой вопрос, такой ответ.


Название: Re: Привязать QLineEdit к полю таблицы
Отправлено: twist от Июль 08, 2008, 21:42
ммм...может быть меня не правильно поняли, но собственно где в этом примере QLineEdit??? Тут ведь только QTableView, а комбобоксы вылезают на определенных полях на скоко я понял из за того что содержимое этих боксов выбирается из соответствующих таблиц. все таки хотелось бы увидеть пример с нативным qlineedit-ом


Название: Re: Привязать QLineEdit к полю таблицы
Отправлено: ритт от Июль 09, 2008, 01:59
вот где нет комбобоксов, это и есть лайнэдиты. не веришь - посмотри код src/gui/itemviews/qitemdelegate.cpp


Название: Re: Привязать QLineEdit к полю таблицы
Отправлено: registrationfedser87 от Июль 10, 2008, 07:31
Посмотри в сторону QDataWidgetMapper- ему указываешь модель, указываешь какие виджеты с камими полями связать- изменение связанных виджетов и модели синхронизируется.
Вот код из ассистента:
Код:
QDataWidgetMapper *mapper = new QDataWidgetMapper;
 mapper->setModel(model);
 mapper->addMapping(mySpinBox, 0);
 mapper->addMapping(myLineEdit, 1);
 mapper->addMapping(myCountryChooser, 2);
 mapper->toFirst();


Название: Re: Привязать QLineEdit к полю таблицы
Отправлено: twist от Июль 10, 2008, 11:59
2registrationfedser87
спасибо тебе, добрый человек