QML的编码约定

来源:互联网 发布:网络金融产品有哪些 编辑:程序博客网 时间:2024/04/29 14:19

    QML编码约定: QML Coding Conventions

1. QML对象

    QML对象一般使用下面的顺序进行构造:

    a. id

    b. 属性声明

    c. 信号声明

    d. JavaScript函数

    e. 对象属性

    f. 状态

    g. 状态切换

2. 分组属性

    如果使用了一组属性中的多个属性,那么使用组表示法,而不要使用点表示法,这样可提高可读性

Rectangle {    anchors.left: parent.left; anchors.right: parent.right    //可写成    anchors {        top: parent.top; bottom: parent.bottom    }}
3. 私有属性

   QML和JavaScript中并没有C++中那样强制私有属性。例如这些属性实施的一部分时,这里需要隐藏哪些私有属性。惯例,私有属性使用两个下滑先开头。例如,__area是一个可以被访问但是并不作为公有使用的属性:

Item {    id: component    width: 40; height: 50    property real __area: width * height * 0.5 //并不作为外部使用}
4. 列表

    如果一个列表只包含一个元素,那么通常忽略方括号。

states: [        State {            name: "open"            PropertyChanges {target: container; width: 200}        }    ]    //可以写成    states: State {            name: "open"            PropertyChanges {target: container; width: 200}    }
5. JavaScript代码

    如果脚本是一个单独的表达式(如,width: parent.width / 2),建议将它写成内联;

    如果脚本只有几行,写成块;

    如果脚本有很多行,或者需要被不同的对象使用,创建一个函数。调用:width: calulateWidth(parent)

    如果是很长的脚本,可以将这个函数放在独立的JavaScript文件中,然后导入使用:

   

import "myscript.js" as ScriptRectangle {color: "blue"; width: Script.calculateWidth(parent)}



0 0