Russian Qt Forum

Qt => Model-View (MV) => Тема начата: Jkc от Апрель 13, 2012, 16:06



Название: Модель для едитов.
Отправлено: Jkc от Апрель 13, 2012, 16:06
У меня вопрос, можно ли сделать взаимодействия модели для своих виджетов.
Видел только с TabView и т.п. а можно ли использовать модель  с таким окном?


Название: Re: Модель для едитов.
Отправлено: GreatSnake от Апрель 13, 2012, 16:17
Может для начала ознакомиться с этим (http://www.doc.crossplatform.ru/qt/4.7.x/html-qt/model-view-programming.html)?


Название: Re: Модель для едитов.
Отправлено: Jkc от Апрель 17, 2012, 12:28
Может для начала ознакомиться с этим (http://www.doc.crossplatform.ru/qt/4.7.x/html-qt/model-view-programming.html)?

Спасибо прочитал, но там везде описание привязки некой модели ко вьюхам.
QSqlQueryModel  к QTableView  и т.п.
А можно ли как то создать свою модель под свой виджет, который не завязан на View,
скажем в моем случае  ТабВиджет  форма с едитами?


Название: Re: Модель для едитов.
Отправлено: Странник от Апрель 17, 2012, 12:53
QDataWidgetMapper?


Название: Re: Модель для едитов.
Отправлено: Jkc от Апрель 17, 2012, 13:37
QDataWidgetMapper?
Это оно, спасибо большое.


Название: Re: Модель для едитов.
Отправлено: Jkc от Апрель 26, 2012, 09:53
взял за основу пример  simplewidgetmapper с использованием QDataWidgetMapper   QStandardItem
Все работает но есть один момент
мапинг реагирует на действия от виджетов, т.е. по кликам на кнопки мы меняем данные

Код:
    connect(previousButton, SIGNAL(clicked()),
            mapper, SLOT(toPrevious()));
    connect(nextButton, SIGNAL(clicked()),
            mapper, SLOT(toNext()));

можно ли реализовать изменение данных в виджетах по изменению самих данных.
Т.е. 
У меня набор лейблов которые привязаны каждый к своим данным,  данные изменяются
без кликов, по сети я периодически их получаю,  как мне организовать замену старых данных на новые?
сейчас сделал тупо в функции апдейт где просто список  lable-setText(data->info1), как мне кажется
можно сделать как то лучше