QML之基于QML封装动态库组件

本文详细记录了如何将QML组件封装为动态库的过程,包括创建Qt Quick Extension Plugin项目,配置组件参数,编译生成库目录,以及测试QML动态库的步骤。在封装过程中,需要注意URL的设定,确保QML类型的正确注册和导入路径的设置。

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

前言

在实际中的开发中,我们总是不希望自己的代码能被用户看到,但是使用QML文件封装的组件进行界面开发时,我们的QML源代码是会被编译器直接编译到.exe 或者 .elf 可执行文件中的,最过分的是,我们在QML中写的注释都会被原封不动的被编译到可执行文件中,供QML动态编译类去动态的执行编译或其他处理。
简直是叔叔能忍,嫂嫂不能忍,于是我就想着能把QML封装成动态库就好了,要想知道Qt Quick能不能搞,最直接的、最快速的方法就是看它的库结构或目录及源代码,毕竟别个开源了,不能浪费别个的一片苦心撒,于是我们发现在Qt Quick模块中,QML组件被普遍的编译成动态库的形式供开发者使用,为什么我们不这样弄呢?

注意

  • 你需要知道在Qt Quick中的动态库封装效果:
/*最终的封装组件库目录 > 
 * plugins.qmltypes   >> 让Qt的IDE能高亮我们自定义的组件
 * qmldir             >> 说明当前封装的组件信息,如[模块名],[插件名],[类型说明文件]
 * plugin.dll         >> release 版本的动态库
 * plugind.dll        >> debug 版本的动态库
 */
  • 你需要认真阅读与红色相似颜色的内容
  • 因为我在操作的过程中遇到一些问题,所以这篇随笔将详细的记录所有步骤。我也会将自己的理解标注在随笔中。

0x01 创建Qt Quick Extension Plugin项目

  0x01-1 新建项目选择 Library --Qt Quick 2 Extension Plugin

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值