Hi,
Könntest du mir deine data() mal posten?
Leider nein, da ich aktuell die Sourcen nicht zur Hand habe. Das ist aber auch weiterhin nicht schlimm, denn es ist einfach zu erklären.
Vorbild meines Projekts war das Qt Example Simple Dom Model. Dort wird auch ein eigenes Item implementiert, welches dann als Informationsträger vom Model genutzt wird.
Sogesehen werden die Items vom Model / View mit der index() Funktion indiziert. Das bedeutet ja widerum, dass in der data() vom ModelIndex über den internalPointer() auf das eigene Item zurückgegriffen werden kann. ( Siehe das Qt Beispiel ).
Tja, und da es sich um "mein" eigenes Item handelt, passiert da Folgendes:
Das Item weis, welche Hintergrundfarbe es besitzt, ob es als "Überschrift" fungiert usw.
Damit will ich sagen, dass bei der DisplayRole in der data() Funktion dann die Daten vom Item angefordert werden und bei der BackgroundRole dann die Farbinformationen des Items angefordert werden usw.
Beachte aber, dass auch in diesem Beispiel für alle drei Spalten (3 unterschiedliche QModelIndexe) das gleiche Item indiziert wird.
Ich hoff das hilft dir weiter, ansonsten meld dich!