QGraphicsTextItem - boundingRect zu hoch

Alles rund um die Programmierung mit Qt
Antworten
schmökertante
Beiträge: 13
Registriert: 5. Oktober 2010 15:09

QGraphicsTextItem - boundingRect zu hoch

Beitrag 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
nebler
Beiträge: 51
Registriert: 9. Juli 2009 15:26

Re: QGraphicsTextItem - boundingRect zu hoch

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