ich habe ein Problem mit dem QTextDocument. Ziel ist es in ein QTextEdit HTML Text einzufügen (mit insertHtml) und mit Hilfe von QTextEdit::document()->pageCount die aktuell gebrauchte Seitenzahl auszugeben. Um zu gucken wie viele Seiten gerade wirklich gebraucht werden speichere ich den Text immer mit Hilfe eines QPrinters in eine PDF.
Der Quellcode dazu sieht folgendermaßen aus:
Code: Alles auswählen
QTextEdit *text = new QTextEdit(this);
// Einstellungen des Printers
QPrinter printer(QPrinter::HighResolution);
printer.setOrientation(QPrinter::Portrait);
printer.setPageSize(QPrinter::A4);
printer.setResolution(72);
printer.setOutputFormat(QPrinter::PdfFormat);
printer.setOutputFileName(fileName);
printer.newPage();
// Dem Dokument wird die Seitengröße mitgeteilt
QRectF pageRect(printer->pageRect());
QRectF body = QRectF(0,0,pageRect.width(), pageRect.height());
text->document()->setPageSize(body.size());
// Seiten ins TextEdit einfügen
QString page1 = " ganz viel Text .... ";
text->insertHtml(page1);
cout << "Seiten: " << edit->document()->pageCount() << endl;
QString page2 = " nochmal ganz viel Text .... ";
text->insertHtml(page2);
cout << "Seiten: " << edit->document()->pageCount() << endl;
QString page3 = " nochmal ganz viel Text .... ";
text->insertHtml(page3);
cout << "Seiten: " << edit->document()->pageCount() << endl;
// TextEdit in PDF drucken
text->document()->print(&printer);
Das Problem ist, dass mir die Ausgaben immer sagen dass die Seitenzahl 1 ist. Warum wird diese nicht erhöht ??
Danke