qt - 使用QWebEngine渲染图像

标签 qt headless-browser qwebkit qtwebengine

我正在寻找在我的 headless 渲染器中用QWebKit替换QWebEngine的方法。我使用load()初始化页面,并将插槽连接到loadFinished()以生成最终的.PNG图像。过去,它可以与WebKit一起正常使用,但不能与QWebEngine一起使用。

代码如下...

_webView = new QWebEngineView();

....

// Render the HTML to an image
QPainter painter(&image);
_webView->page()->view()->render(&painter);
painter.end();

我收到以下错误:

"Asking for share context for widget that does not have a window handle" "QOpenGLWidget: Cannot be used without a context shared with the toplevel".



有没有人使用QWebEngine渲染屏幕的示例?

最佳答案

我只是遇到了同样的问题,我通过在加载后显示QWebEngineView来解决了这个问题。

这是对我有帮助的例子:
http://doc.qt.io/qt-5/qwebengineview.html#details

QWebEngineView *view = new QWebEngineView(parent);
view->load(QUrl("http://qt-project.org/"));
view->show();

希望对您有帮助

关于qt - 使用QWebEngine渲染图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29773047/

相关文章:

javascript - 如果从 qresources 加载 html 文件,QWebView 不会加载任何外部资源

c++ - QMap 是否支持自定义比较器功能?

c++ - 如何存储允许 O(1) 随机访问的 3D map ? (C++)

linux - 我应该如何在 Qt 中编写窗口管理器?

firefox - 如何使用 Ruby 脚本运行 headless Firefox 浏览器?

android - 如何使用 QML 在 iOS 和 Android 上 [以正确的方式] 显示网页内容

c++ - Qt,C++ : QListWidget internal drag&drop - how to connect to signal?

firefox - 在 headless Firefox 浏览器中运行 karma 测试在 Jenkins 上不起作用

c# headless 浏览器,支持爬虫的 javascript

python-3.x - Webkit_server(从 python 的 dryscrape 调用)在访问每个页面时使用越来越多的内存。如何减少使用的内存?