QT - Eigenes QTreeWidget Verständnisproblem

  • C++

  • Zerd
  • 2679 Aufrufe 3 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • QT - Eigenes QTreeWidget Verständnisproblem

    Moin moin!!

    Ich bin nicht ganz neu im Umgang mit QT, habe allerdings bisher nur kleinere Tools geschrieben. Jetzt habe ich damit begonnen eine große Anwendung auf Basis von QT4.5 zu entwicklen und bin auf mein erstes größeres Problem gestoßen.

    Ich würde gerne ein Widget einbauen, welches Prinzipiell eine Menge von Layern darstellen kann. Jedem Layer soll eine Farbe zugeordnet werden können, und anhand einer Combobox definiert werden ob der Layer sichtbar oder unsichtbar ist. Unterhalb des layers sollen verschiedene Entitys dargestellt werden.

    Prinzipiell so:

    allerdings das ganze als TreeView um sub-ebenen definieren zu können.

    Soweit ich das richtig verstanden habe muss ich zum speichern der zusätzlichen Daten (farbe + sichtbarkeit) eine Klasse vom QAbstractItemModel ableiten und als model für das QTreeWidget setzen. Soweit sogut... Ich habe aber noch nicht verstanden wie ich diese Daten nun darstellen kann. Muss ich dafür das QTreeWidgetItem subclassen und die draw methode überladen oder das komplette QTreeWidget subclassen, oder wie wird sowas in der Regel gemacht??

    Vielleicht hat ja jemand nen zündenden Hinweis für mich..

    Gruß,
    Zerd
    [SIZE="1"]i'm a signature virus. copy me into your signature to help me spread. - smart questions[/SIZE]

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Zerd ()

  • Hallochen,
    das musste ich ja drei mal lesen, bevor ich überhaupt geblickt habe wo es lang geht.
    Ich kann zwar von vielem ein bisschen, aber ...

    Ich wollte noch was über Model-View-Controller schreiben, aber ich gebe Dir lieber einen Link: Entwicklung von Applikationen in Qt 4.0, Teil 2 - Pro-Linux
    So würde ich das auch machen und besser beschreiben könnte ich es nicht.
    Es ist besser zu schweigen und für einen Narren gehalten zu werden, als zu reden und damit alle Zweifel zu beseitigen ...
  • Ahoy!
    Danke für die Antwort, aber der Link hilft nicht wirklich weiter.
    Es geht mit ja nicht darum einen treeView zu erstellen, sondern um die Darstellung innerhalb des views. (d.h. Text + Grafik + Checkbox)

    Ich habe aber gerade was gefunden was ganz vielversprechend aussieht. Mit einem abgeleiteten QItemDelegate müsste das irgendwie möglich sein. Aber getestet habe ichs noch nicht.

    Wenn ich es richtig verstanden habe kann in einem Delegate definiert werden wie das item aussehen soll und wie es sich verhalten soll. In dem Beispiel (Qt 4.4: Star Delegate Example) Werden beispielsweise in einem table view stern-grafiken gerendert. Letztendlich brauche ich was ähnliches, nur das statt den sternen eben eine color-box und eine checkbox gerendert werden.

    Ob das so klappt werde ich heute Abend herausfinden ;)
    [SIZE="1"]i'm a signature virus. copy me into your signature to help me spread. - smart questions[/SIZE]
  • Ok. War ich auf der falschen Spur.
    Zudem tue ich mich langsam schwer mit C++.
    Ich bin halt jetzt seit Jahren ein Weichei, das C# und Java programmiert.
    Es ist besser zu schweigen und für einen Narren gehalten zu werden, als zu reden und damit alle Zweifel zu beseitigen ...