如何将值推送到QML属性变量二维数组 - 动态?

Aqu*_*irl 5 arrays qt qml qtquick2

这是我尝试过的:

import QtQuick 2.0

Rectangle
{
    property variant twoDimTempArray: [[]]
    property variant oneDArray: [1,2,3]

    MouseArea
    {
        anchors.fill: parent
        onClicked:
        {
            twoDimTempArray.push (oneDArray)

            twoDimTempArray[0].push (oneDArray)

            twoDimTempArray[0][0] = oneDArray[0]

            console.log (twoDimTempArray)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

他们都导致了[].

如何在QML属性变量二维数组中推送值?

Aqu*_*irl 6

将值动态添加到1维QML的一种方法variant是填充普通的Javascript数组,然后将其分配给QML variant.

import QtQuick 2.0

Rectangle
{
    property variant oneDArray: []
    MouseArea
    {
        anchors.fill: parent
        onClicked:
        {
            var t = new Array (0)
            t.push(11)
            t.push(12)

            oneDArray = t

            console.log (oneDArray)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

Starting /home/.../documents/test/build-junk-Desktop_Qt_5_1_0_GCC_64bit-Debug/junk...
QML debugging is enabled. Only use this in a safe environment.
[11,12]
/home/.../documents/test/build-junk-Desktop_Qt_5_1_0_GCC_64bit-Debug/junk exited with code 0
Run Code Online (Sandbox Code Playgroud)

我已经尝试了相同的方法的二维数组,它的工作原理.