Название: [РЕШЕНО] Изменение данных модели при изменении редактируемого значения делегата Отправлено: vdann от Июнь 01, 2009, 11:52 День добрый!
...создаю свой делегат (с виджетом для ввода географических координат), переопределяю все 3 ф-и: Код ...он (делегат) работает как и должен => 1. createEditor, создает мой виджет. 2. setEditorData, устанавливает в мой виджет данные из модели данных. 3. Ввожу свои значения, нажимаю ввод. 4. setModelData, устанавливает данные из моего виджета в модель данных. А мне нужно: .. 3. Ввожу свои значения, данные из моего виджета устанавливаюся в модель данных. ... ..есть у кого-нибудь какие идеи? Название: Re: Изменение данных в моделе при изменении редактируемого значения у делегата Отправлено: Barmaglodd от Июнь 01, 2009, 12:46 Код setModelData покажи :)
Название: Re: Изменение данных в моделе при изменении редактируемого значения у делегата Отправлено: vdann от Июнь 01, 2009, 15:33 Код
...мне нужно чтобы данные в модели изменялись при изменении делегата, а не после ввода... Название: Re: Изменение данных в моделе при изменении редактируемого значения у делегата Отправлено: Barmaglodd от Июнь 02, 2009, 07:32 Невнимательно прочитал. Возможно стоит в setEditorData, как-то индекс передать в BLEditWidget, и в виджете обрабатывать ввод, и писать в модель, а setModelData оставить пустым.
А чем стандартное поведение не устраивает? Почему надо сразу заносить данные, а не после ввода? Название: Re: Изменение данных в моделе при изменении редактируемого значения у делегата Отправлено: vdann от Июнь 02, 2009, 14:54 ...таблица представляет собой массив географических координат какого-то линейного объекта, который отрисовывается на экране, поэтому было бы удобней видеть изменения координат прямо на экране непосредственно на момент редактирования...
..на данном этапе я нашел решение => Код ...это решение работает, но по окончании редактирования дублируется сигнал (можно ввести флаг: взводить его в slotValueChanged(), перед посылкой сигнала, а сбрасывать после обработки сигнала) Название: Re: Изменение данных в моделе при изменении редактируемого значения у делегата Отправлено: Barmaglodd от Июнь 03, 2009, 06:38 Ещё стоит в setModelData disconnect делать, иначе через некоторое время работы slotValueChanged будет многократно вызываться.
Название: Re: Изменение данных в моделе при изменении редактируемого значения у делегата Отправлено: vdann от Июнь 03, 2009, 10:18 ...вот что получилось на выходе =>
...здесь видно другую проблему в теме "Виджет, похожий на QDateTameEdit" http://www.prog.org.ru/topic_9672_0.html |