gpt4 book ai didi

qt - 如何在 RowLayout 中对齐项目

转载 作者:行者123 更新时间:2023-12-04 12:28:02 24 4
gpt4 key购买 nike

我要对齐 Rectangle s 在 RowLayout左到右。在下面的代码示例中,两个 Rectangle s 共享额外的空间,而不是一个接一个地堆叠。我用过 Layout.alignment: Qt.AlignLeftRowLayout级别和 Rectangle水平,但这两种方式都没有根本改变 View 。

Item {
RowLayout {
anchors.fill: parent
spacing: 2


Rectangle {
width: 100
Layout.fillHeight: true
Layout.alignment: Qt.AlignLeft

Text {
text: "Hello world"
}
}

Rectangle {
width: 100
Layout.fillHeight: true
Layout.alignment: Qt.AlignLeft

Text {
text: "Hello world"
}
}
}
}
在下图中,黑色边框表示 RowLayout红色边框是 Rectangle s。
实际的
Acual layout
预期的
Expected layout

最佳答案

有关 Layout.alignment 的文档说明:

This property allows you to specify the alignment of an item within the cell(s) it occupies.



您可以简单地在末尾添加一个填充项,如下所示:
RowLayout {
anchors.fill: parent
spacing: 2


Rectangle {
width: 100
Layout.fillHeight: true
Layout.alignment: Qt.AlignLeft
color: 'red'

Text {
text: "Hello world"
}
}

Rectangle {
width: 100
Layout.fillHeight: true
Layout.alignment: Qt.AlignLeft
color: 'green'

Text {
text: "Hello world"
}
}

Item {
Layout.fillWidth: true
}
}

但也可以使用:
Row {
anchors.fill: parent
spacing: 2


Rectangle {
width: 100
anchors {
top: parent.top
bottom: parent.bottom
}

color: 'red'

Text {
text: "Hello world"
}
}

Rectangle {
width: 100
anchors {
top: parent.top
bottom: parent.bottom
}
color: 'green'

Text {
text: "Hello world"
}
}
}

关于qt - 如何在 RowLayout 中对齐项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47186980/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com