Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 尝试将外部QML模块导入到我的项目时出错_Qt_Qml - Fatal编程技术网

Qt 尝试将外部QML模块导入到我的项目时出错

Qt 尝试将外部QML模块导入到我的项目时出错,qt,qml,Qt,Qml,我正在尝试将模块从导入到我的应用程序。 为此,我克隆了repo,然后将模块路径添加到QML2\u导入路径env变量 papyros已经正确设置了qmldir文件,所以我要做的就是将dir添加到QML2_导入_路径 i、 e:如果qmldir在/myhome/qml-material/modules/material目录中,那么我将/myhome/qml-material/modules/material添加到QML2\u导入路径变量中 我还尝试使用以下方法添加: engine.addImport

我正在尝试将模块从导入到我的应用程序。 为此,我克隆了repo,然后将模块路径添加到QML2\u导入路径env变量

papyros已经正确设置了qmldir文件,所以我要做的就是将dir添加到QML2_导入_路径

i、 e:如果qmldir在/myhome/qml-material/modules/material目录中,那么我将/myhome/qml-material/modules/material添加到QML2\u导入路径变量中

我还尝试使用以下方法添加:

engine.addImportPath("/myhome/qml-material/modules/Material");
在加载主qml文件之前的main.cpp中

似乎什么都没用,我无法导入应用程序中的组件,Qt Creator代码的完成完全忽略了新的目录。 我试着以几种不同的方式添加:

import modules.Material.Action 0.1
import Material.Action 0.1
import Action 0.1
但我一直收到错误: 未安装模块“模块名称”

它工作的唯一方法是使用完整路径:

import "/myhome/qml-material/modules/Material/Action.qml" as Action
但是,当然,这不是我想要的


你知道我该如何解决这个问题吗?

你应该做
engine.addImportPath(“/myhome/qml material/modules/”)
engine.addImportPath(“/myhome/qml-material/modules/material”)

因为当您编写
import Material 0.1
时,Qt将搜索名为Material的文件夹,如果您已经在其中,这将不起作用。

谢谢,我按照您的建议添加到QML2\u import\u路径,现在它起作用了,尽管Qt Creator仍然无法自动完成组件。