我使用qml WebView QT 5.2。
WebView {
anchors.fill: parent
url: "http://google.com"
}
根据WebView宽度缩放加载的页面内容。如何在浏览器中获得默认比例?
左图为我的WebView,对吧 - Google Chrome
答案 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"
------------------------------------------的 用户代理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 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"
答案 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 手机)上的正确缩放。