3

我正在使用带有模块 QtWebEngine 的新 Qt5.4 并且从我看到的 mainFrame() 不再存在。如何获取页面的 contentSize/size 以及现在如何渲染?我尝试了 setView 和 view 但不起作用。

4

2 回答 2

2

我找不到任何本机 Qt 方法,但我想出了一个解决方法:加载页面后,我执行以下操作以将我的小部件调整为 Web 内容:

webView->page()->runJavaScript("document.documentElement.scrollWidth;",[=](QVariant result){
int newWidth=result.toInt()+10;
webView->resize(newWidth,webView->height());
});

webView->page()->runJavaScript("document.documentElement.scrollHeight;",[=](QVariant result){
int newHeight=result.toInt();
webView->resize(webView->width(),newHeight);
});

注意:我添加了 10px 宽度的边距

于 2015-08-25T08:33:45.900 回答
1

检查QWebEnginePage::geometryChangeRequested 信号是否符合您的要求。

QWebEnginePage您还可以通过创建 a QWebEngineView(它是 a QWidget)并调用来显示 a QWebEngineView::setPage(yourPage)

于 2014-10-09T14:31:56.857 回答