Hallo,
Deine Beschreibung ist etwas schwer zu verstehen finde ich.
Ein View hat zu keinem Zeitpunkt mehr Daten als das Model.
Es ist möglich dem Benutzer durch den Controller Daten des Models verändern zu lassen. Hast du Daten des Models geändert, kannst du im Model mit QAbstractItemModel::dataChanged() bzw. QAbstractItemModel::layoutChanged() die Views über Änderungen informieren. Die Vews rufen dann über die Model-Schnittstellen (data(), flags() usw.) die neuen Informationen ab.
Wenn du mit den Daten des Views arbeitest, hast du üblicherweise einen QModelIndex zur Verfügung. Über den ModelIndex kannst du auf Dein Objekt schließen:
In der Praxis hat es sich für mich als Sinnvoll erwiesen jedem Objekt zusätzlich eine ID zu geben, z.B. "FooBar_0001" (diese IDs ergeben sich z.B. beim Einlesen der Daten aus INI-Files oder der Datenbank. Ich habe meine Models dann einfach noch um eine Komfortfunktion erweitert die in etwa so aussieht:
Das Mapping zwischen ID und FooBar* mache ich anhand eines QHash<QString, FooBar*> in meinem Model. Die Zuordnung wird erzeugt während ich die Daten meines Models einlese.
Ich hoffe das bringt Dich etwas weiter.
Ciao,
Sephral