QML模块

引自:https://doc.qt.io/qt-5/qtqml-syntax-directoryimports.html

模块由模块定义qmldir文件定义。每个模块都有一个关联的类型名称空间,它是模块的标识符。模块可以提供QML对象类型(由QML文档或通过C ++插件定义)和JavaScript资源,并且可以由客户端导入。

要定义模块,开发人员应将模块中的各种QML文档,JavaScript资源和C ++插件收集到一个目录中,并编写一个适当的模块定义qmldir文件,该文件也应放置在该目录中。然后可以将该目录作为模块安装到QML导入路径中。

请注意,定义模块不是共享项目中常见QML类型的唯一方法- 为此,也可以使用简单的QML文档目录导入

引自:https://doc.qt.io/qt-5/qtqml-modules-qmldir.html

模块定义qmldir文件

有两种不同类型的qmldir文件:

  • QML文档目录
  • QML模块定义文件

QML模块定义文件

一个qmldir文件是一个包含以下命令的纯文本文件:

 

/*声明模块的模块标识符。<ModuleIdentifier>是模块的(点分URI表示法)标识符
,必须与模块的安装路径匹配。所述模块标识符的指令必须是文件的第一行。*/
module <ModuleIdentifier>

例:module ExampleModule

/*声明一个对象
[singleton]可选的。用于声明单例类型。
<TypeName> 是可用的类型
<InitialVersion> 是要为其提供类型的模块版本
<File> 是定义类型的QML文件的(相对)文件名
*/
[singleton] <TypeName> <InitialVersion> <File>


/*
qmldir文件中可能存在零个或多个对象类型声明,但是每种对象类型在模块的任何特定版本中都必须具有唯一的类型名称。

注意:要声明singleton类型,定义该类型的QML文件必须包含该pragma Singleton语句。
*/
//singleton例子

//Style.qml with custom singleton type definition
pragma Singleton  //单例
import QtQuick 2.0

QtObject {
    property int textSize: 20
    property color textColor: "green"
}

//--------------------qmldir------------------------------

// qmldir declaring the singleton type
module CustomStyles
singleton Style 1.0 Style.qml  //声明Style类型


//--------------------use------------------------------
// singleton type in use
import QtQuick 2.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值