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