QML插件的制作与应用

本文详细介绍了如何在Qt中制作QML插件,包括基于C++的扩展插件和纯QML插件的创建过程,以及在应用中如何使用这些插件。通过实例演示了创建Qt Quick插件工程的步骤,讨论了qmldir、qmltypes文件的作用,并着重强调了模块命名和文件组织结构的重要性,以避免在使用插件时遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. QML插件

  • 纯QML插件,即将QML文档转化成动态链接库(windows下是dll,linux下是.so,mac下是dyso)
  • 基于C++的扩展插件,比如自定义类的属性、方法,以便在QML中使用它们。这种插件一般使用得不多,原因是有点脱裤子放屁

下面分别针对这两种情况做下介绍,以及遇到的坑的说明。这里介绍是基于Qt Creator,使Qt版本是Qt5.15。

2. 基于C++扩展插件

首先创建Qt Quick插件工程,如下:
在这里插入图片描述
从向导可以看出,创建插件其实就是封装动态库。
在这里插入图片描述
这里工程的名称叫MyPlugin。
在这里插入图片描述
这里的命名都是默认的,MyItem是C++类的名称,URI表示模块名称,比如import QtQuick 2.0,这里的Q tQuick就是模块名称。关于模块命名与使用上,会有一些坑要注意,后面再具体解释。
在这里插入图片描述
这里以Release方式编译就可以了。
在这里插入图片描述
这里下接点完成即创建好这个工程。
在这里插入图片描述
创建好的工程目录结构是这样的,myplugin_plugin.cpp是用来注册QML Type给QML使用的
myitem.cpp是一个类,这个类可以导出给QML使用,具体导出在myplugin_plugin.cpp类的构造函数里用qmlRegisterType注册。如果有更多的C++类,比如A,B…等类,只需要在这个工具里添加新类即可,然后在myplugin_plugin.cpp里注册。
在这里插入图片描述
这是MyPlugin.pro配置文件内容,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

JXES智能生态系统

如文章对你有用,请作者喝个咖啡

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

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

打赏作者

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

抵扣说明:

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

余额充值