QtQuick:未安装模块
Posted
技术标签:
【中文标题】QtQuick:未安装模块【英文标题】:QtQuick: Module is not installed 【发布时间】:2015-11-05 15:09:57 【问题描述】:我正在为自定义 QML 模块而苦苦挣扎。奇怪的是,当我在 Linux (Ubuntu) 上构建和运行时它可以正常工作,但是当我在 Windows 上构建和运行时,我得到以下运行时错误
模块 jbQuick.Charts 未安装。
我的项目根目录包含一个文件夹qml/jbQuick/Charts
,其中包含qmldir
和QML 文件。在.pro
文件中添加QML目录:
QML_IMPORT_PATH = qml
在main.cpp文件中添加qml目录:
QQmlApplicationEngine engine;
engine.addImportPath(QStringLiteral("jbQuick/Charts"));
engine.addImportPath(QStringLiteral("qml"));
在我想使用自定义模块的 QML 文件中:
import jbQuick.Charts 1.0
我错过了什么吗?这是一个已知的问题?
【问题讨论】:
【参考方案1】:最可能的原因是您的 Windows 系统对相对路径的解释不同 - 可能是因为您运行程序时的当前目录不是您的项目根目录。您可以尝试绝对路径,即:
engine.addImportPath("<your-project-root>/qml");
如果可行,您可以在运行时使用 GetModuleFileName 创建相对于二进制文件的正确路径。
【讨论】:
非常感谢,已解决! 还要确保这条路径是绝对路径——我花了几个小时才发现 qtcreator 创建了用于启动已编译应用程序的新目录,并且不要复制我的模块(也是 jbQuick)那里。 像魅力一样为我工作!【参考方案2】:将qml folder
复制到您的build folder
对我有用。
【讨论】:
以上是关于QtQuick:未安装模块的主要内容,如果未能解决你的问题,请参考以下文章
Ubuntu 14.04 上的“未安装模块 QtQuick.Controls”错误