boundingRect bei paint Graphics

Alles rund um die Programmierung mit Qt
Antworten
WingMan
Beiträge: 29
Registriert: 30. August 2008 18:03

boundingRect bei paint Graphics

Beitrag von WingMan »

Hallo,
eigentlich dachte ich verstanden zu haben, was genau boundingRect bewirkt, allerdings läuft es mal wieder nicht so wie es soll :oops:

Also: Ich dachte, dass man mittels boundingRect einen Bereich zurück bzw. angibt, der dem Bereich des gemalten Objekts entspricht oder ggf. größer als dieser ist. Weiterhin dachte ich, dass das boundingRect sich jeweils nur auf die Koordinaten des eigenen GraphicsItem bezieht, nicht auf die Koordinaten der GraphicsScene.

Leider funktioniert das momentan nicht so, soll heissen es werden Bereicht die ich per QPolygon anlege nicht korrekt gezeichnet. Also muss ich wohl was beim boundingRect falsch verstanden haben.

Könnte mir bitte jemand erklären, was ich falsch verstanden habe? Wäre super :D

Vielen Dank und viele Grüße
WingMan
gentlesea
Beiträge: 27
Registriert: 27. März 2008 10:30

Bounding Rectangle

Beitrag von gentlesea »

Hallo,

boundingRect() bezieht sich z.B. auf QGraphicsPolygonItem. Es gibt ein QRectF oder ein QRect zurück. Mit getRect kannst Du Dir ausgeben lassen, wo das Bounding Rectangle seine linke obere Ecke hat und welche Breite und Höhe es hat.

Es bietet sich an, die Zusammenhänge anhand des Beispiels in "examples/graphicsview/diagramscene" nachzuvollziehen. Dort erbt die Klasse DiagramItem von QGraphicsPolygonItem. Anhand dieser Items kann man schön mit dem Debugger nachvollziehen, was das Bounding Rectangle ist.

Seine linke obere Ecke wird aus dem horizontalem und vertikalem Minimum aller Punkte Deines Polygons gebildet. Seine rechte untere Ecke wird aus dem horizontalem und vertikalem Maximum aller Punkte Deines Polygons gebildet. Es wird in der Computergraphik sonst häufig auch als Bounding Box bezeichnet.
Antworten