-1
Qtを使ってGUIを作成しようとしていますが、複数のファイルに多くのデータがあります。特定のJS関数(これが正しい方法であるかどうかはわかりません)。javascript関数のGridViewでコンポーネントのプロパティを変更する
私はGrid
(No GridView
)のレイアウトで簡単な例を作った。最初の矩形の色を変更する方法を見つけたが、入れ子にしたものは見つからなかったからだ。ここにある:私は2番目Rectangle
私はGrid
のRectangle
子どもたちへのアクセスと同じようにアクセスするための簡単な試みの後に私の問題への解決策を見つけた
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";
}
}
}
なぜそのようなJavaScript関数が必要ですか? GridViewの代理人は、モデルエントリのデータの変更にちょうど反応することができます –
私は初心者です。私はこの方法が正しいかどうかわかりません。私は私の質問をちょうど今編集しましたが、私はあなたが私のC++関数が私のjavascript関数を通知し、javascript関数が色を変更すると思ったので、グラフィックスからロジックを分離する必要があるドキュメントを読みました。 – Nikolas