• QML<10> qml 文件的插件封装 ,打包发布 ,隐藏qml文件


    QML<10> qml 文件的插件封装 ,打包发布 ,隐藏qml文件

    前言

    在开发完成后,会将程序打包进行发布,这时不管是出于安全考虑还是其他原因都不愿将源码qml 文件打包到exe中 让用户可见,本文记录下隐藏qml打包方式

    这段时间,工作上的事情忙的差不多了,又可以开始自己的博客记录了,哈哈。。。

    一、描述

    1.新建插件库

    本文会将带打包的qml文件放到插件中,新建插件如下图所示:
    在这里插入图片描述

    2 添加qrc 资源文件

    在新建的插件工程中加入资源文件,用于存放qml 文件和图片等其他项目资源
    在这里插入图片描述

    3 在资源文件中添加QML 文件

    本文中添加qml 文件,并实现一个自定义Button ,代码如下:

    import QtQuick 2.0
    import QtQuick.Controls 2.0
    import QtQuick.Layouts 1.12
    Rectangle
    {
        id: root
        ColumnLayout{
            spacing: 2
            anchors.fill:  parent
            Image {
                source: "qrc:/btn.jpg"
    
                MouseArea
                {
                    id:mouse
                    anchors.fill: parent
                    onClicked:
                    {
                        text.text ="mouse cliced"
                        text.color ='red'
                        console.log("mouse cliced   from ComBtn")
                    }
    
                }
            }
    
            Label
            {
                id:text
                text: "cummon Btn"
                font.pixelSize: 22
                font.italic: true
                color: "steelblue"
            }
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

    4.qml 文件注册

    使用qmlRegisterType 函数,选择传参类型如下所示:、
    在这里插入图片描述
    特别说明:
    uri :自定义插件模块的名称,该名称在新建项目的时候可修改,亦或者是在qmldir 中 修改 module 后名称
    在这里插入图片描述

    5、插件使用

    <1>在使用插件的项目exe 文件同级目录下 新建文件名称为 自定义插件模块的名称 (qmldir 中 module 后名称)

    在这里插入图片描述

    <2>将插件生成的 dll 和对应的qmldir 拷贝到新建文件夹下

    在这里插入图片描述

    <3>项目qml 中使用同基础模块相同

    在这里插入图片描述
    ps:这里的报错涉及 自定义功能模块的的提示问题,后面文章给出修改

    <4>项目打包

    windeployqt.exe --qmldir exe中QML文件路径 exe
    依赖项解决后就可以使用NSIS制作安装包了

    总结

    运行效果:
    在这里插入图片描述

  • 相关阅读:
    row_number()/rank() over(PARTITION BY xxx ORDER BY的MySQL5.7实现
    JSON概念
    IDEA 高效插件工具
    工程总承包系列之工程总承包合同中的优先受偿权
    【linux命令讲解大全】051.Linux Awk脚本语言中的字段定界符和流程控制
    修改node_modules中安装的依赖(如第三方ui组件样式)并在下次安装时保留
    ElasticSearch在linux上安装部署
    macOS Big Sur(macos11版本)
    Flink源码篇【1】Flink 1.15.0源码编译
    java基于springboot+vue的室内乒乓球室预约收费系统
  • 原文地址:https://blog.csdn.net/jiang173707/article/details/126560442