Seite 1 von 1

QTextDokumkent formatieren

Verfasst: 23. Dezember 2010 09:42
von BartSimpson
Guten Morgen,
ich versuche ein PDF zu erzeugen.
Dazu erstelle ich ein QTextDocument und gebe das via print auf einen QPrinter,
der PDF als Format gesagt bekommt. Die Ausgabe funktioniert auch, nur wie kann man das QTextDocument formatieren? Mit der Doku kommen ich irgendwie nicht weiter.
Anbei 2 Bilder wie es ausschauen soll und wie es ausschaut.
Die Zahlen bedeuten folgendes:
1. Grafik
2 Fette Überschrift
3 Textblock
4 Tabelle
5 Grafik.

Statt eine Seite, werden 2 Seiten erzeugt.
Mein Code schaut wie folgt aus:

Code: Alles auswählen

QTextCursor Cursor(Dokument);
 //Bild Oben
 QTextImageFormat LogoOben;
 LogoOben.setName(":/Bilder/BildOben.jpg");
 LogoOben.setWidth(150);
 Cursor.insertImage(LogoOben);
//Bild Rechts
 QTextImageFormat LogoRechts;
 LogoRechts.setWidth(45);
 LogoRechts.setName(":/Bilder/BildRechts.jpg");
Cursor.insertImage(LogoRechts);
 //Überschrift
    Cursor.insertText(trUtf8("\r\n\Fetter Textr\n"),Ueberschrift);
//Einleitungstext
    Cursor.insertText("textblock");
 //Tabelle
    QTextTableFormat Tabellenformat;
    Tabellenformat.setHeaderRowCount(1);
    Tabellenformat.setCellPadding(1);
    Tabellenformat.setBorderStyle(QTextFrameFormat::BorderStyle_Solid);
Cursor.insertTable(4,3,Tabellenformat);
Dann werden die einzelnen Zellen gefüllt durch.:
 Cursor.insertText(tr("wert"),Normaltext);
  Cursor.movePosition(QTextCursor::NextCell);
Wer hat eine Idee oder ein schönes How-To zum Thema?
Euch allen wünsche ich schon mal einen fleißigen Weihnachtsmann.

Verfasst: 23. Dezember 2010 10:55
von dontinelli
Wie direkt über QTextCursor geht, weis ich nicht, aber du könntest auf jeden Fall HTML-Code benutzen und den Inhalt in eine Tabelle einfügen. Da kannst du die grösse der Tabelle sehr genau festlegen. Wird über QTextTable sicher auch irgendwie gehen. Ein Blick in die Doku könnte da weiter helfen.
LG
Dontinelli