crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Продолжаем разговор про QDataWidgetMapper, а если хочется чего-нибудь посложнее?
Анна
  опции профиля:
сообщение 7.6.2013, 12:58
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 276
Регистрация: 22.5.2008
Из: Зеленоград
Пользователь №: 181

Спасибо сказали: 30 раз(а)




Репутация:   4  


1. В документации говорится, что маппер устанавливает связь один виджет - одна колонка в модели.
А если у меня в формировании значения в модели участвует несколько виджетов, что делать?
Подсосвывать на форму результирующий "виджет-невидимку"?

2. Как правило в примерах упоминается строка ввода в качестве виджета или производные от неё. А кто подсовывал мапперу кнопочки или другие виджеты? Каковы критерии, по котором маппер решает, что новое значение виджета надо зафиксировать в модели?
Как показал опыт аскета http://www.forum.crossplatform.ru/index.php?showtopic=9461 вопрос актуален.
Потеря фокуса виджетом, видимо один из этих критериев. А ещё что?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 7.6.2013, 13:32
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Анна @ 7.6.2013, 14:58) *
в модели участвует несколько виджетов, что делать? Подсосвывать на форму результирующий "виджет-невидимку"?
а что значит "в модели участвуют виджеты"?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Steklova Olga
  опции профиля:
сообщение 7.6.2013, 14:18
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 198
Регистрация: 27.9.2011
Из: Санкт-Петербург
Пользователь №: 2912

Спасибо сказали: 5 раз(а)




Репутация:   4  


Юрий, не
Цитата(Litkevich Yuriy @ 7.6.2013, 13:32) *
"в модели участвуют виджеты"
а
Цитата(Анна @ 7.6.2013, 12:58) *
в формировании значения в модели участвует несколько виджетов
т.е. несколько виджетов используются для формировании значения одной колонки модели.

Анна, верно? А можете привести пример такой ситуации?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Анна
  опции профиля:
сообщение 10.6.2013, 9:40
Сообщение #4


Активный участник
***

Группа: Участник
Сообщений: 276
Регистрация: 22.5.2008
Из: Зеленоград
Пользователь №: 181

Спасибо сказали: 30 раз(а)




Репутация:   4  


Цитата(Steklova Olga @ 7.6.2013, 15:18) *
т.е. несколько виджетов используются для формировании значения одной колонки модели.
Анна, верно? А можете привести пример такой ситуации?

Именно так.
Ситуация такова: несколько чекбоксов или радиокнопок определяют набор флагов, который отображается в одной колонке. Делать "один флаг - одна колонка" очень накладно, т.к. таблица получается очень широкой, при том, что названия флагов, в понятной для пользователя форме, составляют две-три буквы.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Анна
  опции профиля:
сообщение 10.6.2013, 11:00
Сообщение #5


Активный участник
***

Группа: Участник
Сообщений: 276
Регистрация: 22.5.2008
Из: Зеленоград
Пользователь №: 181

Спасибо сказали: 30 раз(а)




Репутация:   4  


А если в модели хранится число, а в диалоге мне нужна словесная расшифровка, что должен заниматься расшифровкой?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Steklova Olga
  опции профиля:
сообщение 10.6.2013, 12:33
Сообщение #6


Участник
**

Группа: Участник
Сообщений: 198
Регистрация: 27.9.2011
Из: Санкт-Петербург
Пользователь №: 2912

Спасибо сказали: 5 раз(а)




Репутация:   4  


Цитата(Анна @ 10.6.2013, 9:40) *
Делать "один флаг - одна колонка" очень накладно, т.к. таблица получается очень широкой

А если сделать для каждого флага соответствующее поле таблицы, все эти поля сделать при отображении таблицы невидимыми, а в таблицу добавить одно видимое вычисляемое поле (calculated field) ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 10.6.2013, 12:59
Сообщение #7


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


я ничего не понял.
Нарисуйте картинку, как это выглядит для пользователя
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Анна
  опции профиля:
сообщение 10.6.2013, 15:26
Сообщение #8


Активный участник
***

Группа: Участник
Сообщений: 276
Регистрация: 22.5.2008
Из: Зеленоград
Пользователь №: 181

Спасибо сказали: 30 раз(а)




Репутация:   4  


В модели :    одна переменная под флаги
0001010
   | |
   | +-DA
   +-- DDS

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

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



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

Steklova Olga, ну, да. Либо результирующее поле в представлении, либо результирующий виджет в диалоге, либо вообще забить на маппер и делать всё самой.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.11.2022, 8:47