尽管在CMakeLists.txt

时间:2016-02-16 15:52:37

标签: qt module cmake qml

我正在尝试在基于CMake的{​​{1}}项目中导入我自己的模块。

qmldir.txt

Qt

根据documentation,我需要设置module MyModule MyModuleLabel 1.0 MyModuleLabel.qml 变量。

QML2_IMPORT_PATH

或者,我也可以使用SET(QML2_IMPORT_PATH "/graphics")

我尝试了两种方式但它不起作用。 QQmlEngine::addImportPath()没有显示我的路径,因此编译器说:

QQmlEngine::importPathList()

我错过了什么?

1 个答案:

答案 0 :(得分:1)

就像Frank Osterfeld所说,QML2_IMPORT_PATH环境变量仅在运行时相关,而不是我设置导入路径的位置。

这样做的方法是使用QQmlEngine::addImportPath() 如果您的导入路径为/foo/bar/modules/并且您尝试import MyModule 1.0,则QML引擎将尝试在qmldir中查找名为/foo/bar/modules/MyModule/(没有扩展名)的文件。 因此,文件的完整路径应为/foo/bar/modules/MyModule/qmldir