QTextDokumkent formatieren

Alles rund um die Programmierung mit Qt
Antworten
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

QTextDokumkent formatieren

Beitrag 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.
Dateianhänge
Soll
Soll
soll.jpg (32.45 KiB) 2401 mal betrachtet
Ist Seite 1
Ist Seite 1
Ist Seite 1.jpg (25.96 KiB) 2401 mal betrachtet
Ist Seite 2
Ist Seite 2
Ist Seite 2.jpg (22.35 KiB) 2401 mal betrachtet
dontinelli
Beiträge: 146
Registriert: 22. September 2006 20:53

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