2017-01-21 11 views
-1

Qtを使ってGUIを作成しようとしていますが、複数のファイルに多くのデータがあります。特定のJS関数(これが正しい方法であるかどうかはわかりません)。javascript関数のGridViewでコンポーネントのプロパティを変更する

私はGrid(No GridView)のレイアウトで簡単な例を作った。最初の矩形の色を変更する方法を見つけたが、入れ子にしたものは見つからなかったからだ。ここにある:私は2番目Rectangle私はGridRectangle子どもたちへのアクセスと同じようにアクセスするための簡単な試みの後に私の問題への解決策を見つけた

Column{ 
    spacing:2 

    Grid{ 
     id:grid 
     columns: 2 
     rows:2 
     spacing: 10 
     Repeater{ 
      model:4 

      Rectangle{ 
       id:rect1 
       width:100 
       height:100 
       color:"red" 
       Rectangle{ 
        id:rect2 
        width:25 
        height: 25 
        color:"black" 
        anchors.horizontalCenter: rect1.horizontalCenter 
        anchors.verticalCenter: rect1.verticalCenter 
       } 

      } 
     } 
    } 

    Button{ 
     text:"Click me" 
     width:50 
     height:50 
     onClicked: { 
      for (var i = 0; i <grid.children.length; ++i) 
       column.children[i].color="green"; 
     } 
    } 
} 
+0

なぜそのようなJavaScript関数が必要ですか? GridViewの代理人は、モデルエントリのデータの変更にちょうど反応することができます –

+0

私は初心者です。私はこの方法が正しいかどうかわかりません。私は私の質問をちょうど今編集しましたが、私はあなたが私のC++関数が私のjavascript関数を通知し、javascript関数が色を変更すると思ったので、グラフィックスからロジックを分離する必要があるドキュメントを読みました。 – Nikolas

答えて

1

for (var i = 0; i < column.children.length; ++i) 
    grid.children[i].children[0].color="green"; 
関連する問題