如何设置WebView内容比例(qml QT 5.2)

时间:2014-03-12 15:28:18

标签: qt webview qml qt5

我使用qml WebView QT 5.2。

WebView {    
    anchors.fill: parent
    url: "http://google.com"   
}

根据WebView宽度缩放加载的页面内容。如何在浏览器中获得默认比例?

左图为我的WebView,对吧 - Google Chrome enter image description here

2 个答案:

答案 0 :(得分:3)

要实现与您的问题图片2 相同的缩放比例,您必须将用户代理属性设置为 WebView chrome one 如下:

import QtWebKit.experimental 1.0
...
WebView {    
anchors.fill: parent
url: "http://google.com"   
experimental.userAgent:"Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36  (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36"
}
...

<强> [更新] 注意来自3个不同用户代理字符串的3个图像之间的差异

------------------------------------------的 用户代理Android浏览器 ------------------------------------ ------------

"Mozilla/5.0 (Linux; U; Android 4.0.3; ko-kr; LG-L160L Build/IML74K) AppleWebkit/534.30    (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30"

user-agent Android Browser

------------------------------------------的 用户代理Chrome浏览器 ------------------------------------ ------------

"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36"

user-agent Chrome Browser

------------------------------------------的 user-agent Ipad-Macosx / Safari --------------------------------- ---------------

"Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25"

user-agent Ipad-Macosx/Safari

答案 1 :(得分:0)

虽然这个话题已经很老了,但我刚刚在 Ubuntu Touch 应用程序中遇到了与 QT 5.11 相同的问题。原来我只需要设置以下内容:

    QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);

(或分别为 QApplication

请注意,这必须在创建应用程序实例之前进行设置:

int main(int argc, char *argv[])
{
    QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    QGuiApplication *app = new QGuiApplication(argc, (char**)argv);

这导致 webview 以与 ubuntu touch 上的本机浏览器(变形浏览器)相同的方式缩放。我不需要设置任何用户代理信息。

对于那些也使用 Ubuntu Touch 的人来说,MainView 的大小确实对 web 视图中的内容缩放有直接影响。我保留了创建过程设置的默认值 (clickable create),即:

   width: units.gu(45)
   height: units.gu(75)

这会导致设备(在本例中为 Volla 手机)上的正确缩放。