Qt: печатать всю веб-страницу с помощью диалогового окна предварительного просмотра - PullRequest
0 голосов
/ 26 апреля 2018

Итак, я пытаюсь полностью напечатать QWebEngineView, но для этого достаточно создать диалоговое окно предварительного просмотра, такое как QPrintPreviewDialog.

Первая попытка была примерно такой:

self.loader = QWebEngineView()
[...]
dialog = QPrintPreviewDialog()
dialog.paintRequested.connect(self.loader.page().print)
dialog.show()

self.loader также используется как фактический вид, отображаемый на экране.В этой настройке я получаю одну страницу для предварительного просмотра, и это текущий вид в окне.Но не весь документ, а это то, что я хочу.

Я могу просто вызвать self.loader.page (). Print (), который работает (печатает все), но не дает возможности предварительного просмотра.

Затем я попытался проявить смекалку, используя

self.loader.page().runJavaScript("window.print();")

Но, похоже, это не вызывает какой-либо реакции.

Итак, как мне получить весь WebView, напечатанный сПредварительный диалог предварительного просмотра?

В этом случае предпочтительнее использовать PyQt5 / PySide2, но я вполне могу понять и обычное решение Qt.

...