Мы разрабатываем наше первое приложение Qt/QML (технология тестирования). Хотя технология выглядит очень многообещающей с первого взгляда, мы столкнулись со столькими неожиданными странными проблемами, которые почти сдались с самого начала.QML: как указать путь к файлу изображения относительно папки приложения
Здесь один из таких вопросов.
Мы хотим, чтобы следующие папки макета для нашего приложения:
--> ApplicationFolder
|--> qml // QML files (also structured by subfolders)
|--> resources // Application resources (images, sounds, data-files, etc.)
| |--> images // Image resources (also structured by subfolders)
| |--> data // Different data files
| |--> ... // Other resources
|--> Application.exe // Application executable
|--> *.dll // DLLs application depends on
Проблема заключается в том, что для того, чтобы указать файл изображения для Image
QML элемента мы должны использовать путь относительно QML файл ?! Это абсолютно безумно. Во время разработки файлы иногда перемещались между папками (вы перемещаете файл QML и должны исправить весь путь, который он имеет!); некоторые разные QML-файлы должны ссылаться на одно и то же изображение (тот же ресурс изображения, но другой фактический путь в разных файлах QML).
Итак, вопрос в том, как указать путь изображения относительно папки приложения? Это вообще возможно?
Заранее благодарен!
PS. Использование ресурсной системы Qt (когда ресурсы встроены в исполняемый файл) в нашем случае не является вариантом. Нам нужны исходные ресурсы на диске (включая сами файлы QML, по крайней мере, на этапе разработки).
PPS. Написал этот вопрос, проведя целый день, чтобы решить проблему самостоятельно через документацию/google/stackoverflow; никакого успеха вообще (большинство примеров используют вложение ресурсов, другие слишком простые и просто используют относительные пути).
'Это абсолютно безумный. Во время разработки файлы иногда перемещались между папками (вы перемещаете файл QML и должны исправить весь путь, который у него есть?!); '-> Что безумно в разработке во время разработки фразы? Очевидно, что если вы не создадите его правильно, просто выполняйте планирование грузов, вам может потребоваться переоснастить материал новым дизайном. Разве это тоже безумие, что вы переименовываете что-то повсюду, когда вы переименовываете что-то, потому что понимаете, что вы дали неправильное имя переменной? Давай, Алексей ... :) Сед - твой друг ... – lpapp
@lpapp Это безумие, потому что если файл изображения остается на том же месте, то абсолютно нормально, чтобы ссылка на этот файл оставалась неизменной в коде приложения и не зависят от перемещения других вещей. Разве нет? Если какой-то файл QML относится к некоторому изображению, и это изображение остается в одном месте все время, зачем нужно исправлять этот QML каждый раз, когда он хочет переместить его в другую папку? Это то, о чем я говорю. При использовании файлов qrc у вас нет такой проблемы, но с сырыми ресурсами мы просто не можем найти решение, к сожалению. –