QML导入自定义模块,添加外部qrc

这两天想做一份自己的qml组件,写在项目里面的话就得每个项目都有一份,太麻烦了,组件多的话又要内存,所以看了一下把组件单独做成了一个项目,直接导入把它到各个项目就可以用了

首先得有一份qmldir,如图:

不需要像我这样,我是为了后续添加其他内容,所以分了多个pro文件,然后是qmldir内容如下

#UIComponents是后面你导入时候用的,要与所在文件夹名字相同,1.0是版本号
module UIComponents

UISkin 1.0 UISkin.qml
UILable 1.0 UILable.qml
UIBotton 1.0 UIBotton.qml
UIProgress 1.0 UIProgress.qml

 然后是到开发项目里main.cpp添加下面内容

导入Qt资源路径
QQmlApplicationEngine engine;
engine.addImportPath("qrc:/");

之后在pro导入资源所在路径

QML_IMPORT_PATH = ../dev/uibase/
QML_DESIGNER_IMPORT_PATH = ../dev/uibase/
路径就是你的qrc所在位置,上面截图可以看到我的是uibase
这里也是为了有联想提示,网上有些说需要用Qt目录下的工具生成一个.qmltypes的文件,我感觉太麻烦了,没有试,这个导入如果有报错说导入未定义的模块就重启下Qt

代码段

import UIComponents 1.0

UIBotton{}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值