| Статистика |
Онлайн всего: 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'ы и прочие контролы? Тоже неудобно.Подскажите, пожалуйста, какие вы видите пути решения проблемы.
|
|
Просмотров: 436 |
Добавил: admin
| Рейтинг: 0.0/0 |
|
| Календарь |
| « Сентябрь 2015 » |
| Пн |
Вт |
Ср |
Чт |
Пт |
Сб |
Вс |
| | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 10 | 11 | 12 | 13 | | 14 | 15 | 16 | 17 | 18 | 19 | 20 | | 21 | 22 | 23 | 24 | 25 | 26 | 27 | | 28 | 29 | 30 | |
|