如何制作QML插件

什么是QML插件

QML插件实际上就是动态库。在QML中,我们可以以插件的形式加载组件,比如QtQuick.Controls 2.2等就是Qt官方的插件,我们把常用的组件做成插件,就可以方便以后重复使用。

如何制作插件

这里只包含几个关键步骤的截图,理解即可

制作插件

  1. 创建工程时选择创建qml插件
    在这里插入图片描述
  2. 填写插件名称和工程路径,插件的名称会体现在qmldir文件中
    在这里插入图片描述
  3. 填写插件的对象的名称和URL,这里的URL其实就是模块名称,体现在qmldir文件中
    在这里插入图片描述
  4. qmldir文件分析
    插件的信息会保存在qmldir文件中,如:
    module pluginpath
    plugin pluginname
    这里要注意,在qml中调用外部插件是通过import [module name] [module version]
    module name其实就是Qt qml插件目录(默认目录或者指定目录)下的路径,也就是文件夹的名称。如果模块名称是aaa.bbb.ccc,那么目录就是aaa/bbb/ccc
    在这里插入图片描述
  5. 编译生成release版本的动态库,用debug版本的动态生成不了plugins.qmltypes,原因未知
  6. 生成plugins.qmltypes文件
    在qml调用插件时,需要知道这个模块的信息,比如版本,数据类型等等,这些信息是存放在plugins.qmltypes这个文件,我们可以借助qt的工具去生成。
    qmlplugindump -nonrelocatable My.Module 1.0 /import/path > /import/path/my/module/plugins.qmltypes

调用制作好的插件

  1. 在工程文件是填写正确的插件路径
    qt本来就包含自己的插件所在目录,比如:D:\Qt\Qt5.9.6\5.9.6\mingw53_32\qml。我们要添加自己存放插件的目录QML_IMPORT_PATH += $$PWD/…/
  2. 在main函数中添加路径
engine.addImportPath("../");
  1. 在qml文件中调用模块
import mymodule 1.0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值