QWebEngine:打印一页?

Elm*_*lmi 10 c++ printing qt qt5 qt5.5

迁移QWebKitQWebEngine似乎比Qt家伙声称要复杂得多.有了QWebKit,我可以轻松打印网页

QWebView->print(&printer);
Run Code Online (Sandbox Code Playgroud)

使用QWebEngineQWebEngine视图不提供方法print().他们的浏览器示例使用一个名为的类QWebEngineFrame,它提供了一个方法print()- 但整个QWebEngineFrame过程没有定义!

所以我的问题是:如何使用打印页面QWebEngine

dem*_*lus 9

我认为正确的使用方法QWebEngineView::render的方法,因为QWebEngineView是一个QWidget.它接受绘画设备作为第一个参数,你可以通过QPrinter那里打印.

更新:如果您可以使用最新版本的Qt,在Qt 5.8中添加了一个用于打印页面的新功能:

void QWebEnginePage::print(QPrinter *printer, FunctorOrLambda resultCallback);
Run Code Online (Sandbox Code Playgroud)

实际上它首先使用QPrinter设置打印到临时PDF .

这是Qt 文档的链接.

您也可以在我们的博客中阅读此内容.