Ubuntu SDK: Наличие трудности, заставляющей изображения работать в 'QML только приложение' при развертывании к armhf устройству

Когда я развертываю свой QML только программа на рабочий стол с помощью SDK Ubuntu, изображения, которые я поместил в ту же папку как Main.qml может быть получен доступ и отображен правильно в использовании приложения source: "Pics/testpic.png"

При развертывании на armhf устройстве к ним нельзя получить доступ этим способом и вместо этого приводят к ошибкам как

QML QQuickImage: Cannot open: file:///opt/click.ubuntu.com

Что лучший метод должен заставить пакет щелчка включать папку изображений в двоичный файл, где к ним может получить доступ и использовать приложение?

Если я изменю источник на веб-адрес, то он счастливо покажет любое изображение, на которое я указываю на него, таким образом, он может к прекрасным изображениям на дисплее, но не имеет доступа к моей собственной папке изображений.

Здесь существует similarish вопрос

Добавьте файлы изображений в Ubuntu приложение QML с плагинами C++ (qrc)

и koukouviou добавляет сноску к его вопросу:

Я закончил тем, что создал qmake проект вместо cmake проекта и достиг встраивания изображения в двоичном файле. Для моих потребностей это в порядке, так как я просто разрабатываю простое приложение подтверждения концепции

Так 'встраивание изображения в двоичном файле' походит точно, что я хочу сделать.

Кто-либо может пробежать, как сделать это со мной?

Только для замечания я делал попытку многого 'удара в темных' попытках этого.

  • Добавленный .qrc файл (который, кажется, решение для 'qml с C++' приложение), но доступ через source: ":/Pics/testpic.png" или source: "qrc:/Pics/testpic.png" приведший к тому же Cannot open: file и т.д.

  • Также испытанное добавление папки в области проекта слева от SDK. Это обнаружилось под "дополнительными файлами", но все еще, кажется, не доступно при развертывании на armhf устройстве.

Любая справка с этим очень ценилась бы.


Править: Быстрая Схема того, Где я пошел не так, как надо...

Благодаря koukouviou для регулирования меня на правильный путь.

Моя основная проблема состояла в том, что я запустил Приложение QML с Простого UI (qmake) проект. Я соединил его и протестировал его путем развертывания на Рабочий стол и когда я был достаточно доволен им, я пытался развернуться к armhf Устройству. Это было затем, что я нашел, что изображения не покажут.

У меня не было кода C++ в моем проекте, таким образом, казалось ненужным использовать любой проект 'C++' Шаблоны, таким образом, я предпринял некоторые попытки 'решить' мою проблему, но я все еще использовал 'Приложение QML с Простым UI' Шаблон проекта.

Добавление спокойного Файла ресурсов к Приложению QML с Простым проектом UI похоже на него, должен работать: .qrc файл может быть добавлен и заполнен с Вашими изображениями, но любой ссылкой на source: "qrc:/Pics/testpic.png" неудавшийся.

Насколько я знаю, что не возможно использовать Ваши собственные Файлы изображений с 'Приложением QML с Простым UI' и развернуть его на armhf Устройстве.

После чтения ответа koukouviou я наконец думал, что должен буду просто стиснуть зубы и запустить проект с помощью кода C++. На этот раз я выбрал QtQuick App with QML UI (qmake), который имеет описание, 'Создает проект приложения Ubuntu C++ с демонстрационным UI, содержащим Маркировку и Кнопку'.

Как ранее упомянуто, я избежал этого прежде, потому что у меня не было кода C++ в моем приложении и никакого реального понимания того, как использовать C++ в этом (или любой) контекст, но я был рад найти, что это не было необходимо, чтобы я скорректировал или добавил любой код C++, и я мог просто внести свои изменения в Main.qml и добавьте мои Файлы изображений к Ресурсам. Был, на самом деле, уже a .qrc файл ресурсов в дереве проекта по умолчанию.

3
задан 29 October 2019 в 14:57

1 ответ

Это - то, что я сделал для встраивания изображения в "двоичный файл":

Я использую qmake проект со структурой папок по умолчанию в Ubuntu SDK. Я сделал каталог для хранения моих изображений: project_name/backend/your_click/images. С папкой бэкенда я создал новый файл ресурсов resource_file.qrc, который содержит следующее:

<!DOCTYPE RCC><RCC version="1.0">
<qresource>
    <file>images/bigredbutton.png</file>
</qresource>
</RCC>

Для создания qrc файла, я думаю, что можно щелкнуть правой кнопкой, Добавить Новый..., QT, спокойный Файл ресурсов и вручную отредактировать файл или вручную создать его с нуля. Я не помню, который, работавший для меня, испытайте их и сообщите мне, я отредактирую ответ для других, которые могут столкнуться с той же проблемой в будущем.

В моем файле Main.qml я использую изображение как это:

Image {
    id: btn
    width: 250; height: 250
    fillMode: Image.PreserveAspectFit
    source: "qrc:images/bigredbutton.png"
    MouseArea {
    ...
    }

Вот снимок экрана моей структуры проекта, он мог бы помочь. Project structure with qrc file

2
ответ дан 1 December 2019 в 16:58

Другие вопросы по тегам:

Похожие вопросы: