Rotieren eines QGraphicsItem

Alles rund um die Programmierung mit Qt
Antworten
mathies
Beiträge: 149
Registriert: 9. Februar 2007 17:50
Wohnort: Erfurt

Rotieren eines QGraphicsItem

Beitrag 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?
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Erst - dann + beim translate
mathies
Beiträge: 149
Registriert: 9. Februar 2007 17:50
Wohnort: Erfurt

Beitrag 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 ^^
Antworten