1

所以,我试图完全打印一个 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 解决方案。

4

0 回答 0