最も簡単な方法は、ちょうどそのアンカー完全に親を埋める子矩形を持つことである。しかし、これはそれだけの作品不特定のサイズのqmlアイテムの背景を設定するには? QMLアイテムの背景を設定する
Item
{
width: 320
height: 240
Rectangle
{
id: background
anchors.fill: parent
color: "blue"
}
// other items
}
親アイテムはサイズが(幅と高さ)を定義します。
私はそれのための固定サイズを定義せずにコンテナを持っていたいと思います。子は固定サイズを持ちますが、子のサイズを動的に変更できるので、親コンテナを拡大して収縮させたいと思います。
子供をシーケンスにアンカーすると、バックグラウンドを除いてすべて正常に動作します。
類似のトピックについてはa question a while agoがありましたが、すべての子供が表示されずに重なっていたという問題がありました。それはシーケンスで(またはRowLayout
を使用して)それらを固定すると正しく表示されるため、これは私の問題ではありません。
Item
{
// I don't want a fixed size here
Rectangle
{
id: background
anchors.fill: parent
color: "blue"
}
RowLayout
{
anchors.fill: parent
Item
{
id: child1
anchors.left = parent.left
anchors.top: parent.top
width:100
height:100
}
Item
{
id: child2
anchors.left = child1.right
anchors.top: parent.top
width:120
height:120
}
// further children
}
}
しかし、背景は親が定義されたサイズを持っていないため、すべての子供が固定サイズを持っていますが、表示されていない、と私は最後の子の右のアンカーを指定した場合、右のようにそれでも正しく表示されます。これは、親のサイズをレンダラーが知っているはずであることを意味します。
"親コンテナが成長して収縮するようにしたいと思います。"これはポジショナーの説明です。 'Column'または' Row'です。あなたは、含まれているレイアウト(下記の答えを参照してください)または前述のポジショナータイプに応じて 'Item'のサイズを設定する必要があります。 – BaCaRoZzo