Russian Qt Forum
Сентябрь 29, 2024, 02:32 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Привязать QLineEdit к полю таблицы  (Прочитано 5729 раз)
twist
Гость
« : Июль 08, 2008, 18:04 »

Всем доброго времени суток,
собственно сабж.
зы: решил посмотреть как взаимодействует qt с бд, никак не могу вьехать в механизм работы. Гдето там далеко на сервере есть у нас субд, в ней база с целевой таблицей. Для организации взаимодействия с таблицей на скок я понял удобно использовать QSqlTableModel,который будет являться источником данных для всяких view. А как поступить в случае с QLineEdit? Т.е. что бы вносимые изменения в эдите сразу ,или не сразу,отражались в базе. В имеющихся у меня книгах и примерах к либе ответ не нашел  В замешательстве
зызы: критика приветствуется Смеющийся
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #1 : Июль 08, 2008, 19:38 »

Всем доброго времени суток,
собственно сабж.
зы: решил посмотреть как взаимодействует qt с бд, никак не могу вьехать в механизм работы. Гдето там далеко на сервере есть у нас субд, в ней база с целевой таблицей. Для организации взаимодействия с таблицей на скок я понял удобно использовать QSqlTableModel,который будет являться источником данных для всяких view. А как поступить в случае с QLineEdit? Т.е. что бы вносимые изменения в эдите сразу ,или не сразу,отражались в базе. В имеющихся у меня книгах и примерах к либе ответ не нашел  В замешательстве
зызы: критика приветствуется Смеющийся

Посмотри пример $(QTDIR)/examples/sql/relationaltablemodel.
Показано взаимодействие с БД. Несколько видов редакторов: QComboBox и QLineEdit. Результат редактирования сразу фиксируется в БД.
Какой вопрос, такой ответ.
Записан
twist
Гость
« Ответ #2 : Июль 08, 2008, 21:42 »

ммм...может быть меня не правильно поняли, но собственно где в этом примере QLineEdit??? Тут ведь только QTableView, а комбобоксы вылезают на определенных полях на скоко я понял из за того что содержимое этих боксов выбирается из соответствующих таблиц. все таки хотелось бы увидеть пример с нативным qlineedit-ом
Записан
ритт
Гость
« Ответ #3 : Июль 09, 2008, 01:59 »

вот где нет комбобоксов, это и есть лайнэдиты. не веришь - посмотри код src/gui/itemviews/qitemdelegate.cpp
Записан
registrationfedser87
Гость
« Ответ #4 : Июль 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();
Записан
twist
Гость
« Ответ #5 : Июль 10, 2008, 11:59 »

2registrationfedser87
спасибо тебе, добрый человек
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.164 секунд. Запросов: 23.