从 QRC 文件加载 qmldir
Load qmldir from QRC file
我正在尝试在 Qt Quick 应用程序中使用 QML-material library。
但是当我尝试使用导入代码时它说
module "Material" is not installed`
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();
}
我是否遗漏了什么或者无法在 qrc
文件中使用 qmldir
?
您需要将模块所在的文件夹添加到导入路径。
在本例中是 qrc:/modules/
。
示例:
engine.addImportPath( "qrc:///modules" );
要使模块正常工作,您需要有权访问 qmldir
文件,以及其中引用的所有文件。所以需要将库的所有文件添加到qrc中。
我正在尝试在 Qt Quick 应用程序中使用 QML-material library。
但是当我尝试使用导入代码时它说
module "Material" is not installed`
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();
}
我是否遗漏了什么或者无法在 qrc
文件中使用 qmldir
?
您需要将模块所在的文件夹添加到导入路径。
在本例中是 qrc:/modules/
。
示例:
engine.addImportPath( "qrc:///modules" );
要使模块正常工作,您需要有权访问 qmldir
文件,以及其中引用的所有文件。所以需要将库的所有文件添加到qrc中。