Я пытаюсь получить QML (main.qml) для загрузки локального HTML-файла index.html с использованием url: "file:///../../htmlfiles/index.html"
, но это не сработает.Использовать относительный url в QML Webview
Не могли бы вы помочь?
Я пытаюсь получить QML (main.qml) для загрузки локального HTML-файла index.html с использованием url: "file:///../../htmlfiles/index.html"
, но это не сработает.Использовать относительный url в QML Webview
Не могли бы вы помочь?
Я закончил проезжавшие qApp->applicationDirPath()
из C++ в QML с помощью setContextProperty()
и используется url: "file:///" + applicationDirPath + "/htmlfiles/index.html"
для устранения проблемы.
Try без file:///
:
WebView {
url: "../../htmlfiles/index.html"
// [...]
}
Я скопировал каталог htmlfiles, используя DEPLOYMENT в .pro, и по какой-то причине это решение не работает (возможно, я чего-то не хватает). Мой QML связан с файлом .qrc, и файл HTML копируется с использованием вышеуказанного метода. Это проблема? – pshah
@pshah: если файл QML скомпилирован в двоичный файл программы, а файл HTML находится за пределами двоичного файла, на него нельзя ссылаться на относительный путь, потому что файлы находятся в двух разных «файловых системах». – hiddenbit
Существует простой способ сделать это:
WebView {
id: translationsList
anchors.fill: parent
url: "qrc:/about.html"
}
Как Радон предложил в комментариях раздел, я думаю, что это не сработает. «@pshah: если файл QML скомпилирован в двоичный файл программы, а файл HTML находится вне двоичного файла, на него нельзя ссылаться на относительный путь, потому что файлы находятся в двух разных« файловых системах ». – pshah
попробовать: имя_файла = "/ и т.д./вопрос"; url = Qt.resolvedUrl (имя файла);
WebView {
url: Qt.resolvedUrl("html/index.html")
x: 0
y: 0
smooth: false
anchors {
top: window.top
bottom: window.bottom
left: window.left
right: window.right
}
}
Это работает для меня!
+1: это способ сделать это – funkybro
'engine.rootContext() -> setContextProperty (« workingDirectory », QUrl :: fromLocalFile (app.applicationDirPath()));' в Qt 5. – Timmmm