Есть ли способ импортировать папку, содержащую файлы Qml, которая находится за пределами каталога проекта? - PullRequest
1 голос
/ 23 января 2020

У меня есть набор Qmls, которые доступны в папке. Теперь я хочу использовать эти файлы Qml в проекте Qt. Есть ли способ импортировать эти QML в мой проект, не копируя папку Qml в каталог моего проекта?

Мой файл .pro выглядит так:

RESOURCES + = qml.qrc RESOURCES + = $$ PWD /../ QML_Assets

QML_IMPORT_PATH = $$ PWD /../ QML_Assets QML2_IMPORT_PATH = $$ PWD /../ QML_Assets

Непосредственный qr c генерирует так:

D: /Qt_Projects/Dummy_sample/QML_Assets/QML_2.qml D: /Qt_Projects/Dummy_sample/QML_Assets/QML_1.qml

Если я добавлю импорт "../QML_Assets/", тогда мое приложение начинается и выходит сразу. Если я не импортирую это и не прокомментирую компоненты, которые используются из папки QML_Assets, тогда это сработает.

1 Ответ

0 голосов
/ 23 января 2020

В Qt есть несколько возможностей сделать это.

Сначала вы можете установить переменные в файле проекта Qt (.pro) для добавления путей импорта QML.

# Additional import path used to resolve QML modules in Qt Creator's code model
QML_IMPORT_PATH =
QML2_IMPORT_PATH =

Вы также можете сделать это непосредственно в коде c ++ с помощью QQmlEngine :: addImportPath перед построением / запуском представления Qml

Затем вы можете проверить, какие пути импорта установлены для вашего приложения с помощью QQmlEngine :: importPathList

Вот документация Qt по поводу Операции импорта и Путь импорта QML , в частности

И даже более подробные c: Импорт каталогов документов QML

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...