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
QGraphicsTextItem - boundingRect zu hoch
-
schmökertante
- Beiträge: 13
- Registriert: 5. Oktober 2010 15:09
Re: QGraphicsTextItem - boundingRect zu hoch
Hallo,
Zu 1. wie wäre es mit sowas:
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.
Zu 1. wie wäre es mit sowas:
Code: Alles auswählen
int rows = myQGraphicsTextItem.toPlainText().count( "\n" );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.