Я бы рекомендовал следовать стандартному шаблону MVC и убедиться, что нет никаких зависимостей от модели до представления;в вашем случае это будет означать, что, хотя для каждого элемента модели есть виджет, элементы модели не ссылаются на соответствующие виджеты.
В то время как шаблон MVC имеет много разновидностей, одним из способов достижения этого было бы наличие класса представления, который отслеживает модель на предмет любых изменений и обновляет представление соответствующим образом (это можно сделать, подключив слот в представлениикласс для сигнала, испускаемого из класса модели).Любые изменения, которые пользователь инициирует через представление, могут быть:
1) обработаны напрямую моделью через простое соединение сигнал / слот
2) обработаны классом контроллера, который может направить модель на соответствующее обновление
Любое из этих действий приведет к тому, что модель издаст сигнал обновления, что приведет к обновлению вашего вида.Преимуществом этого является возможность изменять свое представление (или добавлять дополнительные представления) без необходимости обновления вашей модели.
Я бы рекомендовал прочитать Руководство по программированию модели / вида Qt , чтобы лучше понятькак MVC работает в Qt и посмотреть, существует ли существующий класс или интерфейс (например, QAbstractItemModel ), который вы можете использовать вместо выпекания своего собственного.