2015-11-05 130 views
1

我正在努力与自定义QML模块。奇怪的是,这时候我建立并运行在Linux(Ubuntu的)完全正常工作,但是当我建立和运行在Windows上,我得到以下运行时错误QtQuick:模块未安装

模块jbQuick.Charts未安装。

我的根项目目录包含一个文件夹qml/jbQuick/Charts,它包含qmldir和QML文件。该QML目录在.pro文件补充说:

QML_IMPORT_PATH = qml

的QML目录中的main.cpp文件补充说:

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

在QML文件,我想使用的自定义模块我说:

import jbQuick.Charts 1.0 

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

回答

3

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

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

如果这样的作品,你可以用GetModuleFileName创建相对于二进制的正确道路,在运行时。

+0

非常感谢,修好了! –

+0

也确保这个路径是绝对的 - 我花了几个小时找出qtcreator创建启动编译应用程序的新目录,并且**不会**在那里复制我的模块(也称为jbQuick)。 –

+0

为我工作就像一个魅力! –

1

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