QWebEngine: eine Seite drucken?
Die migration von QWebKit
zu QWebEngine
scheint zu sein, viel komplizierter als die Qt Jungs behauptet. Mit QWebKit konnte ich eine Webseite drucken Sie einfach über
QWebView->print(&printer);
Mit QWebEngine
Klasse QWebEngine
Sicht keine Methode, mit der print()
. Ihre browser-Beispiel wird eine Klasse mit dem Namen QWebEngineFrame
bietet eine Methode print()
- aber das ganze QWebEngineFrame
ist nicht definiert, überall!
Also meine Frage: wie Drucke ich eine Seite mit QWebEngine
?
- Scheint etwas hacky, aber nicht drucken, wenn die Arbeit, die Sie aufrufen, JavaScript in eine Webseite ein: Fenster.print() ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, der richtige Weg, um
QWebEngineView::render
Methode, weilQWebEngineView
ist einQWidget
. Es nimmt Farbe Gerät als erstes argument und kann manQPrinter
es für den Druck.Update: Wenn Sie können, verwenden Sie die neueste version von Qt, Qt 5.8 eine neue Funktion für das drucken Seite wurde Hinzugefügt:
Tatsächlich es erste Drucke in temp-PDF mit
QPrinter
Einstellungen.Hier ist der link zu Qt docs.
Lesen Sie dazu in unserem blog auch.
Ich würde folgenden code (für eine Weile):
QTextEdit *textEdit = new QTextEdit; textEdit->setHtml(td.toHtml()); textEdit->print(_printer); textEdit->deleteLater();
wo td ist ein QTextDocument.Qt 5.7 umfasst print-Unterstützung in pdf-Dateien für QWebEngine.
Verwenden printToPdf Funktion zum exportieren der aktuellen Seite in eine pdf-Datei. Beispiel:
QWebView->page()->print(&printer, [=](bool){});