Qt生成QML组件的动态库

创建QtQuick2Extension项目,设置URI,添加资源文件和QML组件。编辑qmldir和_plugin.cpp,注册组件。编译项目生成.dll或.so文件,复制到Qt的qml目录下,并用qmlplugindump生成plugins.typeinfo。在Windows和Linux上分别进行相应步骤使动态库可用。
摘要由CSDN通过智能技术生成

Qt 生成windows和linux下的QML组件动态库

如何生成QML组件动态库?

  • 首先创建Qt Quick2 Extention 项目。

在这里插入图片描述
创建过程中,在uri处填写想要在import时引入的名称。
在这里插入图片描述
项目创建完成后,添加资源文件。
在这里插入图片描述

  • 在新增的资源文件中,添加新的QML组件,并编辑完成。

  • 打开qmldir文件,编辑plugin名称,该名称为生成的动态库名称。

  • 在qmldir中添加 typeinfo plugins.qmltypes

  • 打开[]_plugin.cpp文件,添加注册组件:

  • qmlRegisterType(“qrc:/MyQMLItem.qml”, uri, 1, 0, “MyQMLItem”);

如果使用c++创建qml扩展组件,则创建对应的cpp文件,并编辑完成,然后使用如下语句注册:
qmlRegisterType(uri, 1, 0, “MyCPPItem”);

  • 编译项目,生成debug和release版本的.dll、.a文件,将该文件和qmldir文件copy到Qt目录下的qml文件夹,创建uri名称对应的文件夹,将文件和qmldircopy到该目录下。
  • 使用qt bin目录下的qmlplugindump 生成该库对应的plugins.typeinfo文件:
  • 打开cmd命令行,执行如下语句:
  • qmlplugindump -nonrelocatable [uri] 1.0 ./ > [url]/plugins.qmltypes
  • 生成完成后,重启qtcreator,即可在windows下使用该动态库。

对于linux,编译完成后,在qt qml目录下创建uri文件夹,并将.so文件、qmldir文件和windows下生成的plugins.typeinfo文件copy到该文件夹。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天地之心online

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值