Russian Qt Forum

Qt => Model-View (MV) => Тема начата: ufna от Июль 17, 2009, 10:55



Название: Подскажите реализацию
Отправлено: ufna от Июль 17, 2009, 10:55
В общем, есть виджет, который отображает от 1х1 до 6х4 страниц, на каждой из которой могут быть изображения. Пользователь может управлять этими изображениями, т.е. ресайзать за рамочку, вращать и т.п. Каждое изображение принадлежит конкретной странице и не рисуется за ее рамками. Изображения пользователь может перемещать со страницы на страницу и т.п. Страница может быть выделена, как и изображение.

Вопрос - как лучше реализовывать - создавая MVC систему или обойтись своими методами?

Сейчас реализуется за счет ручной отрисовки, обработки выделения и т.п., т.е. есть базовый класс, который рисует страницы на себе, обрабатывает мышь, клавиши и т.п., имея контейнер страниц, каждая из которых при запросе выдает себя нарисованной.

Подумал что более правильным стоит делать через MVC (потому как у этого же самого будет еще и второе представление внешнее, табличное для контроля слоев). Но не знаю с какой стороны подступиться. Модель будет содержать в себе изображения? Если да, то как управлять селектионом страниц, к примеру? А если страницы, то как работать с изображениями через это дело?

В общем вот, MVC я для такой двухуровневой работы раньше не применял, пока не знаю к чему подступиться :(


Название: Re: Подскажите реализацию
Отправлено: ритт от Июль 17, 2009, 13:21
QGV


Название: Re: Подскажите реализацию
Отправлено: ufna от Июль 17, 2009, 13:47
С QGV я реализацию на одну страницу делал в другом проекте для верстки фотоальбомов (novabook.ru), и хоть там многие инструменты реализованы, но возникают различные сложности с постоянным ресайзом, к примеру и т.п., к тому же многое из функционала QGV в данном проекте является лишним и мне нужен очень четкий контроль за положением изображения, т.к. далее оно идет на печать в высоком разрешении, потому и было принято решение работать с пеинтером.