1

我有一个用于QWebKit在对话框中显示和打印自定义生成的 HTML 报告的程序,现在,我想将整个内容转换为QWebEngine. 到目前为止一切正常,只有打印不行!

到目前为止,我曾经QWebView.print()将整个 HTML 数据交给一个QPrintPreviewDialog根本不是问题的。现在,据我了解,我认为我必须使用QWebEngineView.QWebEnginepage.print(printer object, callback)来实现相同的目标。

可悲的是,到目前为止我尝试的一切都没有奏效。QPrintPreviewDialog 的预览窗格始终保持空白,打印完成后返回给回调的结果始终为 False - 尽管打印机对象始终有效,即使在回调中也是如此。

我尝试了不同的东西,它们以某种方式起作用,因此我认为 QWebEnginePage.print() 函数在某种程度上存在错误,或者 PyQt 中存在错误,但事实上,我没有,也许是我做错了什么。

成功的解决方法(我不喜欢;-)):

  1. 不要使用QPrintPreviewDialog,而是通过QWebEngineView.QWebEnginePage.printToPDF(filename):working 生成输出!

  2. 生成一个临时QTextedit对象并通过以下方式打印它QPrintPreviewDialog:也可以工作,但在我的情况下HTML格式错误......

有人可以告诉我,如果我在这里假设有问题,或者是否有关于如何通过QPrintPreviewDialogusing打印 HTML 的下降示例QWebEngineView

4

1 回答 1

0

QtWebEngine 目前不支持打印到打印预览,请参阅QTBUG-57982。但是直接打印到 QPrinter 可以工作。

于 2017-04-09T09:13:54.430 回答