Model/View hierarchisch?
Verfasst: 30. März 2011 09:49
Hallo,
ich möchte gerne die Model/View einsetzen.
Unter anderem habe ich mir das Beispiel "Editable Tree Model" angesehen und versucht zu verstehen.
Meine Anforderungen sind aber etwas anders...
Folgendes möchte ich machen:
- QTreeView zur Darstellung von hierarchischen Einträgen
- Die Daten sollen sein (Beispiel)
LEBEWESEN
MENSCH{max, tim}
TIER{hasso,wulfi, ...}
PFLANZEN
...
(alles Strings). Dabei hat jedes "Item" noch weitere unterschiedliche Attribute (z.B. Größe, Farbe, ...)
die nicht dargestellt werden sollen, wohl aber im Model sind.
- Einträge werden NICHT alle auf einmal eingefügt, sondern sollen über Methoden des Models eingefügt werden,
sodass der View sich (automatisch) aktualisieren sollte.
Wie entwerfe ich speziell das Model?
1. QAbstractItemModel notwendig obwohl es eingerückte strings sein sollen?
2. Ist es ratsam in der Model Klasse Methoden zur Verfügung zu stellen um von außen das Model mit neuen Daten zu füttern?
3. Wie soll ich diese Daten im Model speichern? Einerseitz sind sie hierarchisch andererseits sind noch weitere unsichtbare Daten vorhanden (wie oben beschrieben), die sich unterscheiden.
Muss es so wie im Beispiel mit parent/child sein? Sicher ist das das eleganteste, ist für mich nicht notwendig, aber für den View?
4. Ich kann keinen Mechanismus sehen, wo das Model dem View sagt "neuer Eintrag zum Darstellen vorhanden"?
Danke u. Gruß
Bronko
ich möchte gerne die Model/View einsetzen.
Unter anderem habe ich mir das Beispiel "Editable Tree Model" angesehen und versucht zu verstehen.
Meine Anforderungen sind aber etwas anders...
Folgendes möchte ich machen:
- QTreeView zur Darstellung von hierarchischen Einträgen
- Die Daten sollen sein (Beispiel)
LEBEWESEN
MENSCH{max, tim}
TIER{hasso,wulfi, ...}
PFLANZEN
...
(alles Strings). Dabei hat jedes "Item" noch weitere unterschiedliche Attribute (z.B. Größe, Farbe, ...)
die nicht dargestellt werden sollen, wohl aber im Model sind.
- Einträge werden NICHT alle auf einmal eingefügt, sondern sollen über Methoden des Models eingefügt werden,
sodass der View sich (automatisch) aktualisieren sollte.
Wie entwerfe ich speziell das Model?
1. QAbstractItemModel notwendig obwohl es eingerückte strings sein sollen?
2. Ist es ratsam in der Model Klasse Methoden zur Verfügung zu stellen um von außen das Model mit neuen Daten zu füttern?
3. Wie soll ich diese Daten im Model speichern? Einerseitz sind sie hierarchisch andererseits sind noch weitere unsichtbare Daten vorhanden (wie oben beschrieben), die sich unterscheiden.
Muss es so wie im Beispiel mit parent/child sein? Sicher ist das das eleganteste, ist für mich nicht notwendig, aber für den View?
4. Ich kann keinen Mechanismus sehen, wo das Model dem View sagt "neuer Eintrag zum Darstellen vorhanden"?
Danke u. Gruß
Bronko