Hi,
ich habe das tolle Model/View Konzept aus qt verwendet und ein eigenes TreeModel erstellt, welches von QAbstractItemModel abgeleitet ist. Dieses läßt sich ohne Problem in einem QTreeView darstellen. Allerdings benötige ich mein eigenes View, um die Daten darzustellen, eine Verwendung eines vorhandenen Views evtl. mit eigenen Delegates ist leider nicht ausreichend.
Nun gibt es in der Doku zu qt leider keinerlei Info's, wie man ein eigenes View erstellt, nur das Beispiel von PieChart. Allerdings wird dem PieChart erst das Model übergeben und dann die Daten im Model geändert, sodass ::dataChanged aufgerufen wird.
Habe ich allerdings die Daten bereits geladen, funktioniert dies nicht. Da dies aber mit QTreeView klappt, müssten dort entweder in setModel die Daten geladen werden oder durch irgend ein event. Beides konnte ich allerdings nicht finden.
Hat jemand eine Idee oder schonmal ein ähnliches Problem ? Im Forum konnte ich leider nichts dazu finden und sonst im Web auch nicht.
Eigenes View initialisieren
Ich hab mir den PieChart mal vorgenommen. Wenn ich das Model befülle, bevor ich es dem View zuweis, seh ich auch nix geändertes.
Das liegt einfach daran, dass der Wert, der für validItems gesetzt wird, noch 0 ist, und in paintEvent nur gezeichnet wird wenn validItems > 0.
Wenn du für das view die Methode setModel überschreibst und dabei die Werte etsprechend der Daten im Model setzt, sollte wieder alles passen.
Wenn also dein View viel von dem Code aus PieChart verwendet, versuch das mal mit setModel() überschreiben.
Grüße
Franz
Das liegt einfach daran, dass der Wert, der für validItems gesetzt wird, noch 0 ist, und in paintEvent nur gezeichnet wird wenn validItems > 0.
Wenn du für das view die Methode setModel überschreibst und dabei die Werte etsprechend der Daten im Model setzt, sollte wieder alles passen.
Wenn also dein View viel von dem Code aus PieChart verwendet, versuch das mal mit setModel() überschreiben.
Grüße
Franz