【发布时间】:2014-10-09 12:49:14
【问题描述】:
我正在使用带有模块 QtWebEngine 的新 Qt5.4,从我看到的 mainFrame() 不再存在。如何获取页面的 contentSize/size 以及现在如何渲染?我尝试了 setView 和 view 但不起作用。
【问题讨论】:
标签: qt qt5 qtwebengine
我正在使用带有模块 QtWebEngine 的新 Qt5.4,从我看到的 mainFrame() 不再存在。如何获取页面的 contentSize/size 以及现在如何渲染?我尝试了 setView 和 view 但不起作用。
【问题讨论】:
标签: qt qt5 qtwebengine
我找不到任何原生 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);
});
注意:我添加了 10 像素宽度的边距
【讨论】:
检查QWebEnginePage::geometryChangeRequested 信号是否符合您的要求。
您还可以通过创建QWebEngineView(它是QWidget)并调用QWebEngineView::setPage(yourPage) 来显示QWebEnginePage。
【讨论】: