Seite 1 von 1

QGraphicsTextItem - boundingRect zu hoch

Verfasst: 25. November 2011 06:11
von schmökertante
Hallo,
ich benutze eine QGraphicsScene zum Aufbau einer PDF-Datei mit mehreren Tabellen.
Die einzelnen Zellen jeder Tabelle bestehen aus einem QGraphicsRectItem und einem QGraphicsTextItem. Um das Rect der Zelle entsprechend des Textes anzupassen habe ich bislang font.pointSize() zzgl. einer Zugabe verwendet, bei mehrzeilgen Zellen funktioniert das aber nicht.

Lösungsvariante 1: Wie kann ich einem QGraphicsTextItem die Anzahl der Zeilen entlocken?

Lösungsvariante 2: Ich habe auch boundingRect() versucht, aber das ist immer um einiges größer, als tatsächlich benötigt, dadurch erhalte ich einen unnötig großen Zeilenabstand. Warum ist das so und wie kann ich es ändern?

Kann mir jemand einen Tipp geben?

Grüsse
Mario

Re: QGraphicsTextItem - boundingRect zu hoch

Verfasst: 27. November 2011 09:25
von nebler
Hallo,

Zu 1. wie wäre es mit sowas:

Code: Alles auswählen

int rows = myQGraphicsTextItem.toPlainText().count( "\n" );
Zu 2.:
Ich kann mir es nicht vorstellen, dass die Boundingbox falsch sein sollte. Bei mir in meinem kleinen Testprojekt liegt die Boundingbox genau am Text.
Ggf. unsichtbare Zeichen noch in der Darstellung drin? Ansonsten von QGraphicsTextItem ableiten und die boundingBox Methode überschreiben.