crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Продолжаем разговор про QDataWidgetMapper
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Анна Дата 10.6.2013, 15:26
 
В модели :    одна переменная под флаги
0001010
   | |
   | +-DA
   +-- DDS

В диалоге: много чекбоксов, причём они не обязательно все рядом стоят
[ ]  XXX
[x] DDS  
[ ]  YYY
...
[x] DA
[ ]  ZZZ

Представление : в поле отображаются только те флаги, которые взведены. Вся фишка в том, что одновременно не бывает много взведённых
=================
  |  флаги  |
=================
  | DDS DA  |
=================



Честно говоря, когда увидела маппер несколько дней назад, очень обрадовалась. А теперь мне кажется, что он уж слишком примитивен.
В случае, если я использую для редактирования модели диалог, и во время редактирования мою модель никто не трогает, маппер вообще бесполезен. Я эксперементировала с делегатом и подсовывала ему диалог в качестве редактора. Получалось всё намного проще и прозрачнее. Только значения в виджеты диалога вручную приходилось расставлять.

Steklova Olga, ну, да. Либо результирующее поле в представлении, либо результирующий виджет в диалоге, либо вообще забить на маппер и делать всё самой.
Litkevich Yuriy Дата 10.6.2013, 12:59
  я ничего не понял.
Нарисуйте картинку, как это выглядит для пользователя
Steklova Olga Дата 10.6.2013, 12:33
 
Цитата(Анна @ 10.6.2013, 9:40) *
Делать "один флаг - одна колонка" очень накладно, т.к. таблица получается очень широкой

А если сделать для каждого флага соответствующее поле таблицы, все эти поля сделать при отображении таблицы невидимыми, а в таблицу добавить одно видимое вычисляемое поле (calculated field) ?
Анна Дата 10.6.2013, 11:00
  А если в модели хранится число, а в диалоге мне нужна словесная расшифровка, что должен заниматься расшифровкой?
Анна Дата 10.6.2013, 9:40
 
Цитата(Steklova Olga @ 7.6.2013, 15:18) *
т.е. несколько виджетов используются для формировании значения одной колонки модели.
Анна, верно? А можете привести пример такой ситуации?

Именно так.
Ситуация такова: несколько чекбоксов или радиокнопок определяют набор флагов, который отображается в одной колонке. Делать "один флаг - одна колонка" очень накладно, т.к. таблица получается очень широкой, при том, что названия флагов, в понятной для пользователя форме, составляют две-три буквы.
Steklova Olga Дата 7.6.2013, 14:18
  Юрий, не
Цитата(Litkevich Yuriy @ 7.6.2013, 13:32) *
"в модели участвуют виджеты"
а
Цитата(Анна @ 7.6.2013, 12:58) *
в формировании значения в модели участвует несколько виджетов
т.е. несколько виджетов используются для формировании значения одной колонки модели.

Анна, верно? А можете привести пример такой ситуации?
Litkevich Yuriy Дата 7.6.2013, 13:32
 
Цитата(Анна @ 7.6.2013, 14:58) *
в модели участвует несколько виджетов, что делать? Подсосвывать на форму результирующий "виджет-невидимку"?
а что значит "в модели участвуют виджеты"?
Анна Дата 7.6.2013, 12:58
  1. В документации говорится, что маппер устанавливает связь один виджет - одна колонка в модели.
А если у меня в формировании значения в модели участвует несколько виджетов, что делать?
Подсосвывать на форму результирующий "виджет-невидимку"?

2. Как правило в примерах упоминается строка ввода в качестве виджета или производные от неё. А кто подсовывал мапперу кнопочки или другие виджеты? Каковы критерии, по котором маппер решает, что новое значение виджета надо зафиксировать в модели?
Как показал опыт аскета http://www.forum.crossplatform.ru/index.php?showtopic=9461 вопрос актуален.
Потеря фокуса виджетом, видимо один из этих критериев. А ещё что?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 28.3.2024, 14:20