Qt qml webview加载本地html

Qt qml webview加载本地html

用qml做移动项目也有段时间了,今天分享一下qml的webview加载本地html吧

webview加载本地html,在官方并没有明确说明

在andrioid下webview是这样的
WebView
{
id:web
anchors.centerIn: parent
anchors.fill: parent
url:“file:///android_asset/data/baidumap.html”
}
这个html文件需要放到android/assets文件夹下

webview在iOS中加载本地html需要费些周折

首先需要在cpp里取到html的位置,并且声明这个url
QString initialUrl = “file:/” +QCoreApplication::applicationDirPath()+"/baidumap.html";
engine.rootContext()->setContextProperty(QStringLiteral(“initialUrl”),QUrl::fromUserInput(initialUrl));

如果网页内有http请求,一定要用https

WebView
{
id:web
anchors.centerIn: parent
anchors.fill: parent
url:Qt.platform.os === “android”?“file:///android_asset/data/map.html”
:initialUrl;
onLoadProgressChanged:
{
if(web.loadProgress == 100)
{
var queryFun = “loadMap();”
web.runJavaScript(queryFun, function(result) { console.log(result); });
}
}
}
Xcode是这样的
Qt qml webview加载本地html_第1张图片

你可能感兴趣的:(Qt,android,ios)