2014-09-29 16 views
5

To co próbowałem:Jak przesłać wartości do tablicy dwuwymiarowej właściwości QML - dynamicznie?

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

Wszyscy skutkuje [].

Jak przekazywać wartości w wariancie dwuwymiarowym w wariancie właściwości QML?

Odpowiedz

5

Jednym ze sposobów dynamicznego dodawania wartości do 1-wymiarowego QML variant jest wypełnienie zwykłej tablicy JavaScript, a następnie przypisanie jej do 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) 
     } 
    } 
} 

wyjściowa:

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 

Próbowałem tej samej metody na 2-wymiarowej tablicy i to działa.

Powiązane problemy