В QML вы, как правило, помещаете общий код в базовый класс и делите его на подклассы, чтобы создавать дочерние элементы, которые могут иметь значения для определенных полей, которые отличаются - но имеют одинаковые общие поля. Я использую эту технику для генерации разных режимов в одном приложении, для которых могут потребоваться несколько разные панели инструментов, но один и тот же холст.
Возможно, вы захотите написать код пользовательского интерфейса на c ++ для виджетов, а затем перейти оттуда.
Другим подходом может быть установка общих значений внутри модели и использование этих общих значений по всем направлениям.