2014-09-29 57 views
5

這是我曾嘗試:如何將值推送到QML屬性變體二維數組 - 動態?

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) 
     } 
    } 
} 

他們都導致[]

如何在QML屬性變體二維數組中推送值?

回答

5

將值動態添加到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) 
     } 
    } 
} 

輸出:

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 

我已經嘗試了2維陣列相同的方法和它的工作原理。