Fragen zum QSVGRenderer

Alles rund um die Programmierung mit Qt
Antworten
Delryn
Beiträge: 70
Registriert: 24. Februar 2006 11:15

Fragen zum QSVGRenderer

Beitrag von Delryn »

Hallo,

ich wollte mit dem QSVGRenderer svg-Grafiken anzeigen und skalieren. Jetzt hab ich mich ein wenig mit dem Thema befasst, bin mir aber immer noch unsicher:

Ich dachte man lädt alle Bilder die man braucht in den QSVGRenderer und kann hinterher über die id (die man ja in der *.svg) festlegt, auf die einzelnen geladenen Dateien zugreift.

Dem scheint nicht so zu sein, jedes "load" sorgt dafür, dass nur die Grafiken in der entsprechend *.svg geladen werden.

Soll man jetzt alle Grafiken in eine *.svg integrieren, dort die ids vergeben, mit dem QSVGRenderer diese Datei dann wieder laden und über die ids dann auf die einzelnen Grafiken zugreifen?

Oder wie hat man sich das überlegt? Irgendwie mit dem QSvgWidget?


Falls das unklar war, bitte melden ;)
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Pro Svg-Renderer ein File.
Wenn du deine Grafiken auf mehrere Dateien aufgeteilt hast, nimmst du einfach mehrere Renderer, mit denen du auf dein PaintDevice malst.

Sind deine Grafiken keine komplexen Kunstwerke, sondern Icons, Hintergrundpattern, etc., dann fährst du in jedem Fall besser wenn du deine Grafiken in nur ein File platzierst und je nachdem eine andere id rendern lässt.
Die ID setzt du z.B. mit Inkscape über Rechtsklick auf das Element -> Object Properties ->Id.
Delryn
Beiträge: 70
Registriert: 24. Februar 2006 11:15

Beitrag von Delryn »

franzf hat geschrieben:Pro Svg-Renderer ein File.
Wenn du deine Grafiken auf mehrere Dateien aufgeteilt hast, nimmst du einfach mehrere Renderer, mit denen du auf dein PaintDevice malst.

Sind deine Grafiken keine komplexen Kunstwerke, sondern Icons, Hintergrundpattern, etc., dann fährst du in jedem Fall besser wenn du deine Grafiken in nur ein File platzierst und je nachdem eine andere id rendern lässt.
Die ID setzt du z.B. mit Inkscape über Rechtsklick auf das Element -> Object Properties ->Id.

Ok, soweit danke erstmal. Ich hatte vorher selbst ein Objekt mit inkdraw erstellt, eine ID zugewiesen, speichert und das mit Qt geladen. Das ging problemlos.

Jetzt wollte ich die "Kugeln" aus dem Qt-Example verwenden (bubbles.svg), hab die Datei geöffnet und die Gruppierung aufgehoben. Hab dann die grüne Kugel in ein leeres Inkdraw-Dokument gezogen, eine ID zugewiesen, gespeichert.

Egal was ich mache oder ändere, beim Laden sagt mir der Renderer jetzt "link hasn't been detected"

Im Quelltext wird da irgendwas mit %s ausgegeben. Was ist mit Link gemeint?
Antworten