Файл внутри ресурса не может найти локальный файл

У меня есть проект с несколькими 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)
}

Так что теперь я немного запутался, как мне правильно загрузить файл?

3

Решение

Механизм QML предполагает, что относительные пути, адресуемые в файлах QML, хранящихся в Системе ресурсов Qt, разрешаются в этом файле ресурсов. Поэтому, если ваш файл QML находится в ресурсе, и вы хотите получить доступ к файлу в пути к каталогу приложения, вы должны установить путь из c ++:

engine.rootContext()->setContextProperty("applicationPath", "file://"+qApp->applicationDirPath()+ "/");

Теперь вы можете обратиться к файлу в QML:

Image {
source: applicationPath + "images/image.png"}
5

Другие решения


По вопросам рекламы [email protected]