我将新的Qt5.4与模块QtWebEngine结合使用,在我看来mainFrame()已经不复存在了。如何获取页面的contentSize/size,以及现在如何呈现它?我尝试使用setView和视图,但不起作用。
发布于 2015-08-25 16:33:46
我找不到任何原生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宽度的页边距
发布于 2014-10-09 22:31:57
检查QWebEnginePage::geometryChangeRequested signal是否如您所愿。
您还可以通过创建一个QWebEngineView (它是一个QWidget)并调用QWebEngineView::setPage(yourPage)来显示QWebEngineView::setPage(yourPage)。
https://stackoverflow.com/questions/26278858
复制相似问题