Суббота, 18.11.2017, 09:03
Приветствую Вас Гость

Программирование

Меню сайта
Наш опрос
Оцените мой сайт
Всего ответов: 0
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » 2015 » Сентябрь » 14 » MVC -> type mapping
08:59
MVC -> type mapping
Здравствуйте, уважаемые сообщники.Я не смог найти приемлимого решения моей проблемы ни в mailing list, ни в примерах, ни в документации.Я пишу тонкий клиент, который по rpc запрашивает данные от сервера. В нём несколько десятков различных моделей, но все они представимы в виде таблиц. Я хочу сделать назначить каждому типу данных в модели свой widget.Например, я хочу, чтобы для ячеек типа bool рисовался check box, для моего типа данных progress - мой widget progress bar. Также я хочу, чтобы эти widget'ы редактировали данные.Если сделать делегат - то я могу создавать нужный мне редактор (QCheckBox как пример), и назначать его для редактирования данных. После этого при редактировании ячейки появляется вожделенный QCheckBox, отрабатывает вызов Model::setData, всё хорошо.Класс QItemEditorFactory позволяет сделать желаемое - отобразить типы в редакторы.Но рисуется тип данных bool по-прежнему текстом - "true" или "false". А я хочу его всегда check box'ом видеть. Нету ли какого-нибудь QItemViewFactory для отображения?Научить делегат рисовать как я хочу проблематично - paint служит для других целей (об этим пишут и разработчики Qt в рассылке), разработчики Qt советуют делать setIndexWdget. Однако когда я делаю setIndexWidget, у меня перестаёт вызываться мой делегат.Что же делать? Каждой модели, каждой ячейке делать setWidgetItem, подключать сигналы-слоты, обрабатывать их потом? Это очень неудобно, куча лишнего кода. Или рисовать в делегате руками CheckBox'ы и прочие контролы? Тоже неудобно.Подскажите, пожалуйста, какие вы видите пути решения проблемы.
Просмотров: 98 | Добавил: admin | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
Вход на сайт

Поиск
Календарь
«  Сентябрь 2015  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
282930
Архив записей