本文参考自QtSDK的Import Statements
import的意思为导入模块,类似于c语言的include或者java的import可以导入,c++中通过qmlTypeRegister< classname >()函数向qml环境注册的qml Type,也可以导入某个路径下的js文件(js文件导入时会按序执行js语句),也可以导入一个带有自定义qml控件的文件夹。
as的意思为别名的意思(alias),用来解决导入的模块中类型名与其他模块中的类型同名冲突的,(js文件的同名对象或者函数的冲突)。
| ImportModulesDemo.qmlproject
| main.qml
| + js
| | utility.js
| + component
| | MyComponent.qml
main.qml
import QtQuick 2.0
import "./js/utility.js" as Utility
import "component" as MyComponent
Item{
MyComponent.MyComponent{
id:myComponent
}
function add(rhs,lhs){
return Utility.add(rhs,lhs);
}
}
起的别名必须是大写字母开头的非英文运算符的uft-8字符(支持中文)。
导入的模块,文件夹(内含多个qml控件),可以不用取别名。
但是导入的js函数必须起别名。
原文地址:http://blog.csdn.net/qyvlik/article/details/45046371