Seite 1 von 1

Höhe in QGraphicsTextItem setzen

Verfasst: 26. Juni 2010 18:21
von anno1988
Hallo,

ich will meinem QGraphicsTextItem eine bestimmte Höhe zuweisen. Allerdings habe ich das bisher nur bei der Breite mit der Funktion "setTextWidth(200)" geschafft. Eine bestimmte Funktion für die Eisntellung der Höhe kann ich aber nirgends finden.

Ich habe auch mal die "boundingRect().setHeight()" Methide versucht. Allerdings hat die auch keinen Effekt.

Zumindest sollte es so wie auf dem Bild aussehen, wenn man das Objekt selektiert.

Danke im Voraus.

Verfasst: 26. Juni 2010 18:42
von upsala

Re: Höhe in QGraphicsTextItem setzen

Verfasst: 26. Juni 2010 18:48
von franzf
anno1988 hat geschrieben:Ich habe auch mal die "boundingRect().setHeight()" Methide versucht. Allerdings hat die auch keinen Effekt.
Wie sollte das auch gehen? boundingRect() gibt dir einen Value, keine Referenz. Das Objekt ist nur temporär und ist vor allem kein direkt ansprechbarer value. Kurz: keine Auswirkung auf das Objekt.

Bei gleichbleibender Skalierung sehe ich keine direkte Möglichkeit, dein Vorhaben umzusetzen. Das einzige, was du machen kannst, in einer Schleife das document() so oft in der Breite anpassen, bis dir die Höhe gefällt. Es ist halt einfach nicht so leicht, die Höhe zu prognostizieren, das Layout bricht einfach um, wenn es notwendig ist, das Kriterium dafür ist, ob das aktuelle Wort die aktuelle Zeile über die Breite hinausragen lässt. (Es ist noch komplizierter, mit den ganzen Blocks usw, aber das interessiert hier nicht)

Warum willst du denn das TextItem in der Höhe einpassen?

Verfasst: 26. Juni 2010 18:50
von franzf
upsala hat geschrieben:Ich würde mal hier ansetzten:
http://doc.trolltech.com/4.4/qtextdocum ... eSize-prop
Das Problem ist, dass es den Text abschneidet, es wird die Höhe des Items nicht aktualisiert, wenn die kleiner ist als doc.pageSize().height() (ist das evtl. ein Bug in QGraphicsTextItem, oder ein Feature?)

Verfasst: 26. Juni 2010 19:30
von anno1988
gute Frage. das muss ich mal im bugtracker eintragen ob das ein bug ist, warum das nicht aktualisiert wird.