[Solved] Cannot resolve local file url
-
I'm trying to load an external QML file dynamically. The following code works when I use a FileDialog to resolve the path:
@
var Url = fileDialog.fileUrl;
console.log(Url.toString()); // qml: file:///C:/Templates/benchmark.qml
templateLoader.source = Url;
@But when I try to assign the source using a string, I get a "File not found" error:
@
var sUrl = "file:///C:/Templates/benchmark.qml";
templateLoader.source = sUrl;
@This seems to be related to the problem in this discussion: http://qt-project.org/forums/viewthread/19528 but when I try the binding trick it doesn't work. What am I doing wrong?
-
Try using Qt.resolvedUrl(absolute file name)
-
I had tried that, but it didn't help:
@
var sFilePath = "C:/Templates/benchmark.qml";
var sUrl = "file:///C:/Templates/benchmark.qml";
templateLoader.source = Qt.resolvedUrl(sFilePath); // Network error
templateLoader.source = Qt.resolvedUrl(sUrl); // File not found
@ -
I'm surprised. Just see my example here. It works perfectly here.
@Rectangle {
width: 240
height: 280;color :"blue"
Loader {
id : load
}
MouseArea{
anchors.fill: parent
onClicked: {
console.log("pthinks.com")
load.source = Qt.resolvedUrl("/Users/dheeru/Qt/Training/QML/QtQuickTraining/DynamicObjects/UseLoader/LoaderWithAbosolutePath/TestAbsPath.qml")
}
}
}
@TestAbsPath.qml
@import QtQuick 2.0
Rectangle {
width: 100
height: 200
color : "yellow"
}@