Seite 1 von 1

Rotieren eines QGraphicsItem

Verfasst: 7. Mai 2009 00:30
von mathies
Hallo,

ich habe ein ein Rechteck (ein Item) was ich um seinen oberen linken Eckpunkt rotieren lassen möchte.

Meine Realisierung:

Code: Alles auswählen

QRectF tAreaRect( topLeftX, topLeftY, width, height );
QGraphicsRectItem tRectItem;
tRectItem.setRect( tAreaRect );
... // in Scene setzen und Farbe zuweisen...
tRectItem.setTransform(QTransform().translate(topLeftX, topLeftY).rotate(tAngle).translate(-topLeftX, -topLeftY));
Wenn ich es nicht rotiere, also der Winkel 0° ist, sieht alles super aus. Sobald der Winkel größer wird, finde ich es irgendwo in meiner Scene wieder. Der Winkel an sich stimmt zwar aber die Position nicht. Um welchen Punkt dreht das denn, wenn nicht um den den ich angegeben habe? Oder wo liegt mein (Denk-)Fehler?

Verfasst: 7. Mai 2009 12:16
von upsala
Erst - dann + beim translate

Verfasst: 7. Mai 2009 12:43
von mathies
Danke, dies ist rein logisch richtig, laut Anleitung aber falsch

http://doc.trolltech.com/4.5/qgraphicsitem.html#rotate

Intern werden sicher die letzten Werte als erstes genutzt.

Hab es mal getauscht, hat aber auch nix gebracht. Ist jetzt nur auf der anderen Bildhälfte zu finden.

Ich dreh mir jetzt die Punkte einzeln und zeichne nen Polygon ^^