2013-11-14 240 views
0

我可以赋值给一个变量属性,但不是在这里的数组? ...价值不被保留。将值赋给数组,值不保留?

Column { 
    id: table 

    property variant aa: [false, false] //issue... later 
    property variant bb: false //this works 

    ... 

    Button { 
     anchors.top: parent.top 
     anchors.topMargin: 0//40 
     anchors.right: parent.right 
     anchors.rightMargin: 0//50 
     corpFarmAware: true 
     text: tr_NOOP("Next") 

     onClicked: { 
      table.aa[0] = false; 
      table.aa[1] = true; 
      cb0.checked = table.aa[0];//issue of arrays ?? 
      cb1.checked = table.aa[1]; 

      table.bb = true; 
      cb2.checked = table.bb;//WORKS 
     } 
    } 

回答

0

根据QML上variant的文档:

虽然这是存储阵列和地图类型值的便捷方式,你必须知道的项目和属性上面属性不QML对象(当然不是JavaScript对象)和属性中的键值对不是QML属性。相反,items属性包含一组值,属性包含一组键值对。由于它们被存储为一组值,而不是作为一个对象,其内容不能单独

我认为你应该使用var来存储你的属性修改。