Hallo,
für eine größere Menge Daten ( Megabytes ) möchte ich zwei unterschiedliche Tabellen anlegen.
Die erste Tabelle enthält die Rohdaten, die zweite Tabelle soll die dekodierte Version der Rohdaten enthalten.
Wenn ich in der ersten Tabelle ein Item auswähle, dann soll auch in der zweiten Tabelle die dekodierte
Version ausgewählt werden.
Es bietet sich ein 'QAbstractItemModel' und ein 'QItemSelectionModel' mit zwei 'QTableView' an.
Die Qt-Beispiele 'interview' und 'charts' habe ich studiert und versucht, bis ins Detail zu verstehen.
( nicht ganz so einfach! aber immerhin )
Die sehr gute HTML-Datei 'modelview.html' des Qt-Projects mit dem Titel 'Model/View Tutorial' geht leider
nicht auf mein Problem ein.
Das Problem:
Durch Verwendung eines Models werden in beiden Tabellen die Rohdaten identisch angezeigt eventuell verziehrt
durch eine DecorationRole.
Benutze ich für jede Tabelle ein eigenes DatenModel, kann ich die unterschiedlichen Daten darstellen,
aber dann haut es mit der Auswahl der Daten nicht mehr hin.
Gibt es eine Möglichkeit, aus der Funktion 'Model::data(...)' die beiden Tabellen unterschiedlich mit Daten zu versorgen?
( möglicherweise mit 'UserRole' ? )
Gruß GBunge
ModelView programmieren
Re: ModelView programmieren
Du könntest dir ein Delegate (QStyledItemDelegate) für das Zweite View schreiben, das die Rohdaten
umrechnet und darstellt.
umrechnet und darstellt.
Re: ModelView programmieren
Hallo archer,
danke für den Tip. Werde es mal versuchen.
Bin mir nur nicht sicher, ob das QStyledItemDelegate nicht auf beide
Views Auswirkung hat, weil es ja mit dem gleichen Model verbunden ist.
Gruß GBunge
danke für den Tip. Werde es mal versuchen.
Bin mir nur nicht sicher, ob das QStyledItemDelegate nicht auf beide
Views Auswirkung hat, weil es ja mit dem gleichen Model verbunden ist.
Gruß GBunge
Re: ModelView programmieren
Das Delegate setzt du in das View, nicht in das Model.
Daher hat es keine direkte Auswirkung auf das andere View.
Daher hat es keine direkte Auswirkung auf das andere View.