QML 插件开发 Plugin封装

1.简述

QML中的各个模块都封装的很好用,仅需import就可以直接使用了,非常方便,所以研究一下怎么把自己常用的几个控件封装成插件试试。我们示例把一个Switch控件封装到Controls库里
在这里插入图片描述

2.步骤

2.1创建工程MyControls

在这里插入图片描述

在这里插入图片描述

2.2 创建插件子项目Controls 并实现Switch控件

新建工程肯定都是手到擒来了,找到这个入口,一路下一步就行了。这个工程文件就一个pro文件,接着创建子项目。创建一个插件项目叫Controls

在这里插入图片描述

又是一路下一步,得到一个插件项目,工程目录就是这样的
在这里插入图片描述
在这里插入图片描述
插件项目创建完成,强迫症,手动修改成驼峰命名,
在这里插入图片描述
接着咱们实现一个自己的按钮,添加一个qml文件,右键工程Controls->Add new …
在这里插入图片描述
创建一个叫Switch的控件
在这里插入图片描述
看下工程结构
在这里插入图片描述

2.2.1 实现Switch控件

import QtQuick 2.0
import QtQuick.Controls 2.15

AbstractButton{
    id: root
    checkable: true
    Rectangle{
        anchors.fill: parent
        radius: root.height / 2
        color: root.checked ? "lightgreen" : "lightgray"

        Rectangle{
            id:handle
            anchors.verticalCenter: parent.verticalCenter
            width: parent.height * 0.8
            height: width
            radius: height / 2
            color: "white"
            x: root.checked ? parent.width - parent.height * 0.2 - width: parent.height * 0.2
        }
    }
}

2.2.2 编译生成动态库

加几行东西,指定动态库的输出目录,并且把模块相关的qml也拷贝过去
在这里插入图片描述
追加一个构建的make install命令,这样我们构建完成 就会自动把INSTALLS中的东西拷贝到指定目录(.path指定的路径)
在这里插入图片描述
在这里插入图片描述
看构建的步骤是不是一目了然,点下构建按钮的时候,qmake -> make -j12 -> make install
在这里插入图片描述
右键Controls->构建
在这里插入图片描述

完成之后,在指定目录生成了我们想要的文件,接下来就可以直接用了
在这里插入图片描述

2.3 创建测试控件子项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
看一下路径关系,路径不对会提示Controls模块未安装
在这里插入图片描述

为qml引擎添加插件所在路径,注意一定是dll所在目录的父目录
在这里插入图片描述

全篇焦点,成功使用到插件中的组件
在这里插入图片描述
但是IDE中有一个警告,提示找不到这个Switch,是IDE没有识别,可以将生成的插件放在IDE目录里,也可以如下操作,为QtCreator添加一个插件路径,类似环境变量
在这里插入图片描述
在这里插入图片描述

  • 6
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 16
    评论
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

我是唐

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

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

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

打赏作者

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

抵扣说明:

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

余额充值