これはRow
では意図したとおりに機能しますが、RowLayout
では機能しません。どうして? 2つの違いは何ですか?
ApplicationWindow {
title: "Testing"
width: 640
height: 480
//RowLayout {
Row {
anchors.fill: parent
Rectangle {
id: rect1
width: parent.width * 0.3
height: parent.height
color: "blue"
}
Rectangle {
height: parent.height
width: parent.width * 0.7
color: "red"
}
}
}
Row
は アイテムポジショナー です。ポジショナーアイテムは、宣言型ユーザーインターフェイスでアイテムの位置を管理するコンテナーアイテムです。
RowLayout
は Qt Quick Layouts の一部です。これらは、宣言型ユーザーインターフェイス上のアイテムの位置とサイズの両方を管理し、サイズ変更可能なユーザーインターフェイスに最適です。
RowLayout
を含むコードは次のようになります。
RowLayout{
anchors.fill: parent
spacing: 0
Rectangle{
Layout.fillHeight: true
Layout.preferredWidth: parent.width * 0.3
color: "blue"
}
Rectangle{
Layout.fillHeight: true
Layout.fillWidth: true
color: "red"
}
}