IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> QML 插件开发 Plugin封装 -> 正文阅读

[开发工具]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添加一个插件路径,类似环境变量
在这里插入图片描述
在这里插入图片描述

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-01-30 19:08:14  更:2022-01-30 19:09:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 10:18:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码