Presenter - связующее звено между вьюхой и моделью, формирует данные для вьюхи, получаемые из модели. Реализует всю UI логику вьюхи и навигацию. Его можно реализовывать и в QML и на плюсах, по вкусу.
Presenter должен быть на плюсах, ибо он один для разных видов. Например, QML и консольный интерфейс.
При создании интерфейса на QtQuick делал упор на то чтобы каждый элемент и каждое окно отображались и работали отдельно от программы, т.е. можно запустить весь интерфейс или отдельный элемент через qmlscene и проверить его работу.
...
Очень стояще! Делаю примерно также, только всегда подаю на вход вида модель или класс бизнес-логики. Сразу видно от чего зависит вид.
Dialog {
required property Week week // класс бизнес логики
...
}
Создаю, соответственно, динамически
var component = Qt.createComponent("WeekInfoDialog.qml")
var object = component.createObject(appWindow, {week: currentWeek})
Но я только начал использовать QML.