QtQuick:未安装模块

时间:2015-11-05 15:09:57

标签: linux windows qt qml qtquick2

我正在努力使用自定义QML模块。奇怪的是,当我在Linux(Ubuntu)上构建并运行完美时,它可以工作,但是当我在Windows上构建并运行时,我得到以下运行时错误

  

未安装模块jbQuick.Charts。

我的根项目目录包含一个文件夹A a; // no problem with a E (a, B()) ; // You need to have a rvalue for b ,其中包含qml/jbQuick/Charts和QML文件。 QML目录添加在qmldir文件中:

.pro

qml目录添加在main.cpp文件中:

QML_IMPORT_PATH = qml

在我要使用自定义模块的QML文件中,我声明:

QQmlApplicationEngine engine;
engine.addImportPath(QStringLiteral("jbQuick/Charts"));
engine.addImportPath(QStringLiteral("qml"));

我错过了什么吗?这是一个已知的问题?

2 个答案:

答案 0 :(得分:3)

最可能的原因是在Windows系统上对相对路径的解释不同 - 可能是因为运行程序时的当前目录不是项目根目录。你能试试绝对路径,即:

engine.addImportPath("<your-project-root>/qml");

如果可行,您可以使用GetModuleFileName在运行时创建相对于二进制文件的正确路径。

答案 1 :(得分:1)

qml folder复制到build folder为我工作。