在qml编程中,名字很重要,这里的名字或者说,是命名。在qml中有一套命名法则,对属性名,属性别名,对象别名,信号名,函数名,id名,qml文件名,导入的模块,js文件所使用的别名。
能够在派生对象中被访问,并且能建立起信号处理器的属性,属性名必须以小写字母开,如果属性名属于私有的内部属性,应该以两条下划线开头(这样命名的属性就不能建立起信号处理器了)
必须以小写字母开头,不可以使用大写字母开头,后借utf-8字符(除英文运算符之外的字符),信号本身是作为函数被调用时才能激活信号处理器,有关信号处理器会在其他章节解释。
signal s;
signal s1();
signal s2(var message);
不可以用大写字母开头,支持utf-8字符(非英文运算符)作为其函数名。
function 函数(){
console.debug("中文名的函数");
}
function BigLetterFunctionName(){
console.debug("Method names cannot begin with an upper case letter");
}
必须小写字母开头,不可以使用大写字母开头,支持utf-8字符(非英文运算符)。
import QtQuick 2.0
QtObject {
id:中文
// IDs cannot start with an uppercase letter
}
由英文字母开头,文件名由字母和下划线组成
如果此qml文件是被当做Component(控件,类)来使用,请务必使用大写字母作为文件名的开头。如果实在其他qml文件中动态加载,文件名就随意。
例如如下的工程
| HowToNameQML.qmlproject
| main.qml
| MyComponent.qml // 在qml中可当做类型使用
| dynamicObject.qml // 可在qml环境中动态加载
在qml中使用js文件中的对象和函数时,可以使用import 语句导入
现有utility.js文件
function add(lhs,rhs){
return lhs+rhs;
}
要在qml文件中使用时便可以使用如下语句
import "./utility.js" as Utility // 在本文件域内有效的名字
QtObject{
function add(lhs, rhs){
return Utility.add(lhs, rhs);
}
}
原文地址:http://blog.csdn.net/qyvlik/article/details/45046253