Продолжаем разговор про QDataWidgetMapper, а если хочется чего-нибудь посложнее? |
Здравствуйте, гость ( Вход | Регистрация )
Продолжаем разговор про 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 |
|
|
|
Steklova Olga |
7.6.2013, 14:18
Сообщение
#3
|
Участник Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: 4 |
Юрий, не
"в модели участвуют виджеты" а в формировании значения в модели участвует несколько виджетов т.е. несколько виджетов используются для формировании значения одной колонки модели.Анна, верно? А можете привести пример такой ситуации? |
|
|
Анна |
10.6.2013, 9:40
Сообщение
#4
|
Активный участник Группа: Участник Сообщений: 276 Регистрация: 22.5.2008 Из: Зеленоград Пользователь №: 181 Спасибо сказали: 30 раз(а) Репутация: 4 |
т.е. несколько виджетов используются для формировании значения одной колонки модели. Анна, верно? А можете привести пример такой ситуации? Именно так. Ситуация такова: несколько чекбоксов или радиокнопок определяют набор флагов, который отображается в одной колонке. Делать "один флаг - одна колонка" очень накладно, т.к. таблица получается очень широкой, при том, что названия флагов, в понятной для пользователя форме, составляют две-три буквы. |
|
|
Анна |
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 |
Делать "один флаг - одна колонка" очень накладно, т.к. таблица получается очень широкой А если сделать для каждого флага соответствующее поле таблицы, все эти поля сделать при отображении таблицы невидимыми, а в таблицу добавить одно видимое вычисляемое поле (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 |
Честно говоря, когда увидела маппер несколько дней назад, очень обрадовалась. А теперь мне кажется, что он уж слишком примитивен. В случае, если я использую для редактирования модели диалог, и во время редактирования мою модель никто не трогает, маппер вообще бесполезен. Я эксперементировала с делегатом и подсовывала ему диалог в качестве редактора. Получалось всё намного проще и прозрачнее. Только значения в виджеты диалога вручную приходилось расставлять. Steklova Olga, ну, да. Либо результирующее поле в представлении, либо результирующий виджет в диалоге, либо вообще забить на маппер и делать всё самой. |
|
|
Текстовая версия | Сейчас: 29.11.2024, 7:03 |