【Qml】如何导入本地QML文档

一、引言

QML文件的本地目录可以在不需要任何附加设置或配置的情况下导入。也可以导入QML文件的远程目录,但需要存在一个列出qmldir文件的目录。一个本地目录可能包含一个目录清单qmldir文件,以便定义应该提供给导入该目录的客户端的类型名,并指定应该提供给导入者的JavaScript资源。

本文主题:
从本地目录导入QML文档。

二、从本地目录导入QML文档

例如以下QML项目目录结构。在顶层目录myapp下,有一个名为mycomponents的子目录中有一组常见的UI组件,而主应用程序代码文件位于名为main的子目录中,如下所示:

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

那么main/application.qml文件可以使用mycomponents目录的相对路径导入该目录,允许它使用该目录中定义的QML对象类型:

import "../mycomponents"
DialogBox {
    CheckBox {
    }
    Slider {
}
}

同时,目录可以被导入到一个限定的本地命名空间中,在这种情况下,目录中提供的任何类型的使用都必须是限定的(即必须通过本体命名空间导入该目录下的自定义控件类型):

import "../mycomponents" as MyComponents
MyComponents.DialogBox {
// ...
}

注意:这里 MyComponents必须是以大写字母开头的命名空间,才能引入正确的类型对象


三、总结

对于应用程序内组件集和应用程序原型等情况,导入本地目录的方法是很方便的,但是,如果模块目录移动到另一个位置,任何导入此类模块的代码都必须更新它们的相关导入语句。如果使用QML模块,则可以避免这种情况的出现,因为使用了唯一标识符字符串而不是文件系统路径,后续文章将总结《如何在QML中使用模块》

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值