2014-09-29 5 views
5

Questo è quello che ho provato:Come spingere i valori nella variante bidimensionale della proprietà QML - dinamicamente?

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

Essi tutti i risultati in [].

Come spingere i valori nella matrice di due dimensioni della variante di proprietà QML?

risposta

5

Un modo per aggiungere dinamicamente i valori a un QML 1 dimensionale variant consiste nel riempire un normale array Javascript e quindi assegnarlo al 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) 
     } 
    } 
} 

uscita:

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 

Ho provato lo stesso metodo per una matrice bidimensionale 2 e funziona.

Problemi correlati