Загрузить qmldir из файла QRC
Я пытаюсь использовать QML-библиотека материалов в приложении Qt Quick.
но когда я пытаюсь использовать код импорта, он говорит
модуль "материал" не установлен'
import Material 0.1
Я также попробовал это, но это, кажется, не работает:
import "modules/Material" as Material
qml.qrc
выглядит так, все qmldir
файлов указаны:
<RCC>
<qresource prefix="/">
<file>main.qml</file>
<file>modules/Material/qmldir</file>
<file>modules/Material/Extras/qmldir</file>
<file>modules/Material/ListItems/qmldir</file>
<file>modules/QtQuick/Controls/Styles/Material/qmldir</file>
</qresource>
</RCC>
main.cpp
#include <QGuiApplication>
#include <QQmlApplicationEngine>
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.addImportPath("qrc:/");
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
return app.exec();
}
там что-то мне не хватает или невозможно использовать qmldir
на ?
1 ответов
необходимо добавить в путь импорта папку, в которой находятся модули.
В этом случае qrc:/modules/
.
пример:
engine.addImportPath( "qrc:///modules" );
для работы модуля вам необходимо иметь доступ к qmldir
файл, но и все файлы, на которые ссылаются в нем. Поэтому вам нужно добавить все файлы библиотеки в qrc.