Seite 1 von 1

boundingRect bei paint Graphics

Verfasst: 13. September 2008 19:23
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

Bounding Rectangle

Verfasst: 19. September 2008 19:55
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.