Node Editor

Alles rund um die Programmierung mit Qt
Antworten
01mf02
Beiträge: 4
Registriert: 5. Januar 2009 17:38
Wohnort: Innsbruck

Node Editor

Beitrag von 01mf02 »

Hallo!

Ich überlege mir gerade, wie man einen sogenannten "Node Editor" am besten mit Qt realisieren könnte. Ein Bild sagt mehr als 1000 Worte:
Bild

Das Konzept eines Node Editor ist im Prinzip eine Menge von Knoten, die durch eine Art Pipelines verbunden werden können. Ein Benutzer muss Knoten einfügen, verschieben und miteinander verbinden können.

Nun die Frage: Welche Widgets könnte man verwenden, um mit möglichst wenig Programmieraufwand so etwas zu erreichen? Gibt es in Qt überhaupt wirklich verschiebbare Widgets?
Chris81T
Beiträge: 82
Registriert: 4. Mai 2008 00:06
Wohnort: Urbar

Beitrag von Chris81T »

Also da würde ich dir direkt mal das Graphics View Framework von Qt vorschlagen. Einfach mal die Examples anschauen, bzw. in der Qt Doku lesen http://doc.trolltech.com/4.5/graphicsview.html

Dort hast du deine Szene, einen View und deine Items. Also ideal für dein Vorhaben.

MfG
01mf02
Beiträge: 4
Registriert: 5. Januar 2009 17:38
Wohnort: Innsbruck

Beitrag von 01mf02 »

Danke vielmals! Das scheint wirklich genau das zu sein, was ich brauche ...

An alle, die diesen Thread lesen: Ich habe übrigens gerade "qtdemo" entdeckt, welches mit Qt mitgeliefert wird und wirklich extrem viele Beispiele mitbringt und sicherlich eine unschätzbare Hilfe beim Programmieren ist. Und außerdem schaut es einfach nur sexy aus ... :D
NoRulez
Beiträge: 208
Registriert: 19. Juni 2007 15:43

Beitrag von NoRulez »

Hallo 01mf02,

wäre auch an einer Entwicklung eines Node Editor's interessiert. Darf man fragen welche Applikation das ist von dem der geniale Screenshot kommt?
Das ist nicht zufällig Blender oder?

LG NoRulez
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Das ist Blender, aber schon eine ältere Version.
Hulk2442
Beiträge: 115
Registriert: 10. Januar 2007 13:44

Beitrag von Hulk2442 »

Dazu fällt mir nur folgendes ein:
http://doc.trolltech.com/4.5/graphicsvi ... nodes.html

Zumindest als Ausgangsbasis zu gebrauchen um den eigenen Wünschen anzupassen.
NoRulez
Beiträge: 208
Registriert: 19. Juni 2007 15:43

Beitrag von NoRulez »

Mir drängt sich nämlich die Frage auf, da die Node Verbindungen ja unter auch dynamisch sein können, wie man diese mittels SIGNALS und SLOTS löst.

LG NoRulez
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Beitrag von -=Freaky=- »

NoRulez hat geschrieben:Mir drängt sich nämlich die Frage auf, da die Node Verbindungen ja unter auch dynamisch sein können, wie man diese mittels SIGNALS und SLOTS löst.

LG NoRulez
vllt. sehe ich etwas falsch, aber ich stelle mir dabei auch die frage, ob ( und auch wie) man diese verbindungen ueberhaupt sinnvoller weise via signals/slots baut.

mfg,
julian
01mf02
Beiträge: 4
Registriert: 5. Januar 2009 17:38
Wohnort: Innsbruck

Beitrag von 01mf02 »

Hallo Leute,


danke für eure zahlreichen Antworten - hätte ich nicht erwartet! :D


NoRulez, sehr gut erkannt. Der Screenshot ist von der Blender-Homepage.

Hulk2442, danke, dieses Beispiel ist für meine Zwecke schon sehr gut geeignet! Ich habe auch noch das Beispiel "Diagram Scene" (bei qtdemo unter "Graphics View" zu finden) entdeckt, auf welches ich mich auch stützen werde. Habe ich übrigens schon gesagt, dass qtdemo genial ist? :wink:

NoRulez & Freaky: Ich habe Signals/Slots auch schon in Betracht gezogen, aber wieder zugunsten eines "klassischeren" Ansatzes verworfen.


Falls es euch interessiert, was ich eigentlich mit diesem Node Editor machen möchte: Ich plane eine Art Batchverarbeitungs-Werkzeug, mit dem man sich grafisch gewisse Abläufe zusammenklicken kann. Anwendungsbeispiele:
  • - Alle Dateien in Unterordnern namens Ursprung.jpg in Ziel.jpg umbenennen
    - Alle FLAC-Dateien in MP3-Dateien konvertieren
    - Bei allen Dateien, die in einer Liste stehen, den Text "Hello" durch "Goodbye" ersetzen
    - Liste aller Musikdateien ausgeben, deren Album-Tag nicht mit dessen Verzeichnisnamen übereinstimmt
Ich habe mir schon auf einem Zettel die "Lösung" der obigen Beispiele aufgemalt, wie ich sie dann im Programm umsetzen müsste; leider habe ich gerade keinen Scanner zur Hand, sonst würde ich sie hier veröffentlichen. :(

So, weiter geht's ans Programmieren! Wünsche noch einen schönen Abend!
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Hast du mit diesem Node-Editor schon mal gearbeitet? Denkst du wirklich, daß dieses Format den Benutzer bei dem unterstützt, was er vorhat?
01mf02
Beiträge: 4
Registriert: 5. Januar 2009 17:38
Wohnort: Innsbruck

Beitrag von 01mf02 »

Hallo Upsala, wenn du mit "diesem" Node Editor den von Blender meinst, dann nein, ich habe noch nicht damit gearbeitet.
Mit dem, den ich gerade zu machen versuche, habe ich natürlich auch noch nicht gearbeitet, aber ich habe einige Beispiele auf dem Papier gemacht.

Über die Oberfläche habe ich mir schon einige Gedanken gemacht, aber dies ist die einzige mir eingefallene, die genügend Komplexität zulassen würde. Für Alternativvorschläge bin ich aber gerne zu haben! :)
Antworten