自定义QML模块
来源:互联网 发布:俊知集团官网 编辑:程序博客网 时间:2024/05/21 06:30
1、qmldir文件
qmldir是一个纯文本文件,用来定义QML模块,下面是一些常用的命令:
module <ModuleIdentifier>
声明模块id,id可以是带点的URI,注意与模块安装路径保持一致,这条命令写在首行,最多有一条,例如:
module ExampleModule
<TypeName> <InitialVersion> <File>
声明在模块中可以使用的QML对象类型,这条命令可有多行,例如:
MyCustomType 1.0 MyCustomType.qml
internal <TypeName> <File>
声明属于模块的但不以使用的QML对象类型,这条命令可有多行,例如:
internal MyPrivateType MyPrivateType.qml
<ResourceIdentifier> <InitialVersion> <File>
声明在模块中可以使用的JavaScript文件,这条命令可有多行,例如:
MyScript 1.0 MyScript.js
plugin <Name> [<path>]
声明在模块中可以使用的插件,<Name>是插件库名,这条命令可有多行,例如:
plugin MyPluginLibrary
classname <C++ plugin class>
提供了在模块中使用的C++插件的类名。
typeinfo <File>
声明类型描述文件,其后缀是qmltypes,例如:
typeinfo mymodule.qmltypes
#<Comment>
注释声明,例如:
#this is a comment
有了qmldir文件,就可以在QML文件中导入相应的模块了,命令如下:
import <ModuleIdentifier> <InitialVersion> [as <Qualifier>]<ModuleIdentifier>是模块id,<InitialVersion>是模块版本号,[as <Qualifier>]是可选的,类似于C++的名字空间,例如:
import ExampleModule1.0
新版本兼容老版本的数据,反过来则不行。
2、qmltypes文件
xxx.qmltypes文件可以使用qmlplugindump工具生成。
3、QML文件目录导入
import“<DirectoryPath>” [as <Qualifier>]
<DirectoryPath>可以是本地目录,也可以是远程目录,例如:
import“../mycomponents”
import“http://www.my-example-server.com/myapp/mycomponents”
[as<Qualifier>]是可选的,用来声明标识符,避免模块中的数据暴露到全局,例如:
import“../mycomponents” as MyComponents
4、C++插件
创建C++插件给QML使用,例子可参考:
($QtCreatorPath)/Examples/Qt-5.3/qml/tutorials/extending/chater6-plugins/
- 自定义QML模块
- Qt自定义QML模块
- QML之自定义Button
- QML 自定义进度条样式
- QML 自定义Slider
- qml自定义标题栏
- QML自定义鼠标样式
- qml自定义输入框
- qml自定义Combobox
- QML自定义控件Button
- QML自定义标题栏
- qml自定义SwitchButton
- qml自定义竖状条
- Qml自定义等待指示器
- Qml自定义复选框
- 如何创建QML自定义元素?
- QML 自定义button样式1
- qml实现自定义标题栏按钮
- 初步理解Redis及其安装配置
- tn gives the first impression is that it is not a world
- webservice相关名词解释
- Servlet 3.0 新特性详解
- 《unix高级环境编程》文件和目录——文件操作
- 自定义QML模块
- Flume-ng生产环境实践(三)实现文件sink,按照固定格式目录输出
- Java Web之六 JSP & JSP标签技术
- Android 内存溢出解决方案(OOM) 整理总结
- 判断JS对象是不是数组
- 《unix高级环境编程》文件和目录——文件链接
- 既然选择便坚持!(C++总结)
- 数据对齐
- SDUTOJ 2087 离散事件模拟-银行管理(队列)