Итак, я пытаюсь полностью напечатать 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.