2016-06-07 12 views
0

Ich habe eine sehr große Ebene Array von Daten mit Zahlen. Ich möchte QTreeView und Model/View-Ansatz verwenden, um die Daten in Baumknoten mit bestimmten Parametern, z. Datenwert < 10, Datenwert < 100, DatenwertQTreeView Modell eines einfachen Arrays

Beispiel eines offiziellen Baummodells zeigt, wie die hierarchische Datenstruktur für Elementknoten verwendet wird, was für mich eine schlechte Option ist.

Ich habe versucht, das Modell selbst aus QAbstractItemModel zu schreiben, aber ich kann nicht einmal erkennen, wie parent() Methode für Gruppenknoten schreiben (< 10, < 100, < 1000) und deren untergeordneten Knoten, zum Beispiel.

Ist es möglich, ein solches Modell zu schreiben?

+0

Hallo, willkommen in SO. Wer kann besser als Sie erraten, wenn Ihre Idee möglich ist? Ich rate Ihnen, den Code von dem, was Sie versucht haben, zu veröffentlichen, und möglicherweise eine grafischere Ansicht dessen, was Sie tun möchten. –

Antwort

1

Sie müssen „künstlich“ Eltern zu schaffen, das sind Modell Indizes ohne Wert, aber entsprechen nur die übergeordnete Element mit Datenwert < 100.

Jedes Element mit einem Datenwert < 100 bis das beziehen gleiches Elternteil. Und dieser Elternteil muss all diese Gegenstände geben, wenn er nach seinen Kindern gefragt wird (und die Anzahl der Kinder mit rowCount() darauf angewendet).

Geben Sie ein minimales Codebeispiel für einen vereinfachten Fall an, in dem Ihr Code nicht funktioniert, wenn dies immer noch nicht ausreicht.

+0

Vielen Dank. Ich habe schließlich einen Index mit 2 höchsten Bits für den Typ der virtuellen Gruppe und den Elementindex erstellt. Übrigens kann man beispielsweise die Nummer einer Reihe lesen, um ihre Position im Unterfeld zu kennen. Schließlich habe ich das Modell einer komplexen Daten, bestehend aus mehreren Plan-Arrays, die Elemente miteinander verbunden sind, codiert. –