У меня есть проект с несколькими QML
файлы. Все они находятся внутри файла ресурсов. Теперь я хочу загрузить внешний образ из локальной файловой системы. Но я не могу найти способ сделать это.
Image {
source: "images/image.png" // that tries to load file as 'qrc:/images/image.png'
source: "file://images/image.png" // that does not work (file not found)
}
Так что теперь я немного запутался, как мне правильно загрузить файл?
Механизм QML предполагает, что относительные пути, адресуемые в файлах QML, хранящихся в Системе ресурсов Qt, разрешаются в этом файле ресурсов. Поэтому, если ваш файл QML находится в ресурсе, и вы хотите получить доступ к файлу в пути к каталогу приложения, вы должны установить путь из c ++:
engine.rootContext()->setContextProperty("applicationPath", "file://"+qApp->applicationDirPath()+ "/");
Теперь вы можете обратиться к файлу в QML:
Image {
source: applicationPath + "images/image.png"}