[gelöst] Canvas Items mit einer Linie verbinden

Alles rund um die Programmierung mit Qt
Antworten
eve
Beiträge: 14
Registriert: 3. Mai 2005 16:11

[gelöst] Canvas Items mit einer Linie verbinden

Beitrag von eve »

Hallo!

Ich habe in meinem Canvas zwei Items, die ich mit einer (Canvas-)Linie verbinden will. Die Verbindung soll beibehalten werden, auch wenn sich die Position eines Items ändert.

Wie könnte ich dabei vorgehen?
ArneStocker
Beiträge: 300
Registriert: 3. November 2004 16:15
Wohnort: Berlin

Beitrag von ArneStocker »

wie wär's mit folgendem Vorschlag

leite von QCanvasItem ein QCanvasLinkItem ab und gib diesem abgeleiteten QCanvasLinkItem einen Zeiger auf die beiden zu verbindenden QCanvasItems sowie ggf. Wert für den Angriffspunkt.

Anschliessend könntest Du bei Änderungen (oder gelegentlich in Intervallen) die QCanvasLinkItem zum aktualisieren veranlassen.

Von QCanvasLink Item könntest Du andere Items ableiten die sich um die Art der Darstellung des Links kümmern (Linie, Welle polygoon oder was auch immer).

OK. das war 'ne ziemlich grobe Idee, aber es ist ja auch Dein Programm :-)

Gruss Arne
eve
Beiträge: 14
Registriert: 3. Mai 2005 16:11

Beitrag von eve »

ja, sehr sehr grob... soweit war ich auch schon.

aber trotzdem danke dafür :)
Goos
Beiträge: 360
Registriert: 17. August 2004 10:10
Wohnort: Black Forest

Beitrag von Goos »

eve hat geschrieben:... soweit war ich auch schon.
Wieso hast du dann nicht gesagt, dass du schon soweit warst und nach etwas genauerem gefragt?

Goos
eve
Beiträge: 14
Registriert: 3. Mai 2005 16:11

Beitrag von eve »

weil ich innerhalb der letzten tage, nachdem ich meine frage gepostet habe auch etwas herumexperimentiert habe und bis dahin gekommen bin...
Goos
Beiträge: 360
Registriert: 17. August 2004 10:10
Wohnort: Black Forest

Beitrag von Goos »

Dann haettest im Idealfall hier deine Frage updaten koennen ;)
Andererseits hast du mit deiner Antwort noch nicht recht zu verstehen gegeben, ob du noch Hilfe brauchst, oder nicht.

Goos
eve
Beiträge: 14
Registriert: 3. Mai 2005 16:11

Beitrag von eve »

ja, aber die Frage werde ich neu posten.
Antworten