QML的编码约定

    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 Script

Rectangle {color: "blue"; width: Script.calculateWidth(parent)}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值