qml配列操作(qt quick 1.1)

1226 ワード

qt quick1.1の配列は直接書くことはできませんが、以下は書き方を参考にして、配列を書くことに成功します.
import Qt 4.7

Rectangle {
    id: rect
    width: 640
    height: 480

    property variant a: []

    Component.onCompleted: {
        console.log("a==rect.a:", a==rect.a);
        console.log("isArray:", Array.isArray(a));
        var aa = rect.a;       // reassigning half fixed the problem
        for(var i=0; i< 4; i++) {
            aa.push( i );
            a = aa;       // reassigning back fixed the rest of the problem
            console.log(i, "a > ", JSON.stringify(rect.a), rect.a.length);
        }
    }
}
/*
Outputs the following:

a==rect.a: false
isArray: true
0 a >  [0] 1
1 a >  [0,1] 2
2 a >  [0,1,2] 3
3 a >  [0,1,2,3] 4
*/