QT快速布局按百分比分割

QT quick layout segmentation by percentage

如何在 gridLayout 中有两列,其中第一列占据 space 的 20%,第二列自动填充 space 的其余部分,就像 [=15] 中发生的那样=]? 我试试这个,但现在工作了:

GridLayout{
   id:root
   anchor.fill:parent
   columns:5
   rows:1
   Column{
     id: col1
     Layout.column:0
     Layout.columnSpan:1
   }
   Column{
     id: col2
     Layout.column:1
     Layout.columnSpan:4
   }
}

最后,请给我看一篇在布局方面训练有素的文章。

您是在假设列相等但它们不相等的情况下构建的。您必须明确设置列大小。

GridLayout {
    anchors.fill: parent
    columns: 2
    columnSpacing: 0

    Rectangle {
        Layout.preferredWidth: parent.width * 0.2;
        Layout.preferredHeight: 50
        color: "orange"
    }
    Rectangle {
        Layout.fillWidth: true
        Layout.preferredHeight: 50
        color: "green"
    }
}