我正在使用带有模块 QtWebEngine 的新 Qt5.4 并且从我看到的 mainFrame() 不再存在。如何获取页面的 contentSize/size 以及现在如何渲染?我尝试了 setView 和 view 但不起作用。
问问题
2484 次
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 回答