我正在尝试在基于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()
我错过了什么?
答案 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