我想将Rectangle
在RowLayout
中从左到右对齐。在下面的代码示例中,两个Rectangle
共享附加空间,而不是一个接一个地堆叠。我在Layout.alignment: Qt.AlignLeft
级别和RowLayout
级别使用了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
。实际的
预期的
最佳答案
该文档说明了有关Layout.alignment
的信息:
您可以像下面这样简单地在末尾添加一个填充项:
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/