QML自学之路(九)-QML模块定义

8 篇文章 0 订阅

QML模块支持将自定义QML类型及JavaScript资源进行打包,用户只需要在QML程序中通过import语句引入这个模块,就可以使用模块中包含的自定义QML对象类型以及JavaScript资源了。

QML模块是通过.qmldir文件进行定义的。以下是一个.qmldir文件的示例:

//.qmldir文件
module TimeExample
Clock 1.0 Clock.qml
MyScript 1.0 MyScript.js
plugin qmlqtimeexampleplugin

在这个例子中,创建的模块名称为TimeExample。其中包括了:Clock.qml文件定义的Clock对象类型,MyScript.js文件定义的JavaScript资源,以及一个名为qmlqtimeexampleplugin的插件。

.qmldir文件需要放入规定的文件夹中才能被QML程序引入。这个目录可能是QML引入目录,或者是QML引入目录的子目录。具体是哪一个目录需要结合模块标识符进行确定。例如对于如下目录层级:

myapp
    |- mycomponents
        |- CheckBox.qml
        |- DialogBox.qml
        |- Slider.qml
    |- main
        |- application.qml

如果模块的标识符为myapp.mycomponent,那么.qmldir文件需要放入某个QML导入目录的\myapp\mycomponent\文件夹中。并且模块相关的.qml文件,javascript文件以及插件dll文件都需要放入这个文件夹中。

QML模块中可以包含多个版本的自定义QML对象类型以及javaScript资源。在QML引入语句中,通过具体的版本编号来指定使用哪一个QML对象类型以及javaScript资源。

也可以定义不同版本的.qmldir文件,这样QML引擎会自动引入对应版本的模块。例如:可以将一个2.1版本.qmldir文件放入com/mycompany/mymodule.2文件夹或者com/mycompany/mymodule.2.1文件夹中。这样QML引擎会自动加载最匹配的模块。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值