从QWebKit迁移到QWebEngine似乎比Qt的家伙要复杂得多.使用QWebKit,我可以轻松地打印一个网页
QWebView->print(&printer);
使用QWebEngine类QWebEngine视图不提供print()方法.他们的浏览器示例使用一个名为QWebEngineFrame的类,它提供了一种方法print() – 但是整个QWebEngineFrame在任何地方都没有定义!
所以我的问题:如何使用QWebEngine打印页面?
我认为使用QWebEngineView :: render
方法的正确
方法是因为QWebEngineView是一个QWidget.它接受油漆设备作为第一个参数,您可以通过QPrinter进行打印.
更新:如果您可以使用最新版本的Qt,在Qt 5.8中,添加了一个新的打印功能页面:
void QWebEnginePage::print(QPrinter *printer,FunctorOrLambda resultCallback);
实际上,它首先使用QPrinter设置打印到临时PDF.
这是Qt docs的链接.
您也可以在blog中阅读.