在开发完成后,会将程序打包进行发布,这时不管是出于安全考虑还是其他原因都不愿将源码qml 文件打包到exe中 让用户可见,本文记录下隐藏qml打包方式
这段时间,工作上的事情忙的差不多了,又可以开始自己的博客记录了,哈哈。。。
本文会将带打包的qml文件放到插件中,新建插件如下图所示:

在新建的插件工程中加入资源文件,用于存放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"
}
}
}
使用qmlRegisterType 函数,选择传参类型如下所示:、

特别说明:
uri :自定义插件模块的名称,该名称在新建项目的时候可修改,亦或者是在qmldir 中 修改 module 后名称




ps:这里的报错涉及 自定义功能模块的的提示问题,后面文章给出修改
windeployqt.exe --qmldir exe中QML文件路径 exe
依赖项解决后就可以使用NSIS制作安装包了
运行效果:
