如何制作QML插件
QML插件实际上就是动态库。在QML中,我们可以以插件的形式加载组件,比如QtQuick.Controls 2.2等就是Qt官方的插件,我们把常用的组件做成插件,就可以方便以后重复使用。
如何制作插件这里只包含几个关键步骤的截图,理解即可
制作插件 创建工程时选择创建qml插件 填写插件名称和工程路径,插件的名称会体现在qmldir文件中 填写插件的对象的名称和URL,这里的URL其实就是模块名称,体现在qmldir文件中 qmldir文件分析 插件的信息会保存在qmldir文件中,如: module pluginpath plugin pluginname 这里要注意,在qml中调用外部插件是通过import [module name] [module version] module name其实就是Qt qml插件目录(默认目录或者指定目录)下的路径,也就是文件夹的名称。如果模块名称是aaa.bbb.ccc,那么目录就是aaa/bbb/ccc 编译生成release版本的动态库,用debug版本的动态生成不了plugins.qmltypes,原因未知生成plugins.qmltypes文件 在qml调用插件时,需要知道这个模块的信息,比如版本,数据类型等等,这些信息是存放在plugins.qmltypes这个文件,我们可以借助qt的工具去生成。 qmlplugindump -nonrelocatable My.Module 1.0 /import/path > /import/path/my/module/plugins.qmltypes 调用制作好的插件 在工程文件是填写正确的插件路径 qt本来就包含自己的插件所在目录,比如:D:QtQt5.9.65.9.6mingw53_32qml。我们要添加自己存放插件的目录QML_IMPORT_PATH += $$PWD/…/在main函数中添加路径 engine.addImportPath("../"); 在qml文件中调用模块 import mymodule 1.0