文件目录
自定义模块LinUI中qmldir内容
module LinMusic.LinUI
LinLabel 1.0 ./Controls/LinLabel.qml
LinButton 1.0 ./Controls/LinButton.qml
LinDialog 1.0 ./Controls/LinDialog.qml
注意:module 的名字必须与所在的目录对应
CMake设置
在CmakeLists.txt里添加
set(QML_IMPORT_PATH "E:/QML_code" ${CMAKE_BINARY_DIR}/imports CACHE STRING "" FORCE)
其中,"E:/QML_code"为project所在的目录。这一步已经满足编译要求了,还需要设置main.cpp保证运行时能检查到。
main.cpp设置
engine.addImportPath("E:/QML_code");
如果有install设置的话,就添加install之后的目录吧。
其他导入
目录导入
可以直接写
import “LinUI”
导入同目录下的LinUI组件,但这种导入的优先级最低,如果有同名的,会优先使用其他导入带来的组件。
add_qml_module
在Qt6中引入的cmake函数,可以配合subdirectory导入模块,但不懂。
参考文献
Using QML Modules with Plugins
Importing QML Document Directories
Identified Modules
Importing QML Document Directories