gpt4 book ai didi

qt - 如何在 QML 中将 RowLayout 正确拆分为两个相等的字段?

转载 作者:行者123 更新时间:2023-12-03 20:33:20 28 4
gpt4 key购买 nike

这是一个简单的例子:

RowLayout {
spacing: 5

ColumnLayout {
Text {
Layout.fillWidth: true
text: qsTr("Some text")
}
Rectangle {
Layout.fillWidth: true
height: 100
color: "red"
}
}

ColumnLayout {
Text {
Layout.fillWidth: true
text: qsTr("Some more text")
}
Rectangle {
Layout.fillWidth: true
height: 50
color: "red"
}
}
}

这将在 width 中产生两个相等的字段的 RowLayout ,但为什么我必须指定 Layout.fillWidth: true为了所有的 child ?

这是删除 Layout.fillWidth: true 的相同示例来自 Text成分:
RowLayout {
spacing: 5

ColumnLayout {
Text {
text: qsTr("Some text")
}
Rectangle {
Layout.fillWidth: true
height: 100
color: "red"
}
}

ColumnLayout {
Text {
text: qsTr("Some more text")
}
Rectangle {
Layout.fillWidth: true
height: 50
color: "red"
}
}
}

这里是 RowLayout的两个字段在 width 中不会相同.

最佳答案

您可以使用 Layout.preferredWidth设置行元素的大小(绝对或相对):

import QtQuick.Layouts 1.3
RowLayout {
anchors.fill: parent
spacing: 0
Rectangle {
Layout.preferredWidth: parent.width / 2
Layout.fillHeight: true
color: "green"
}
Rectangle {
Layout.fillWidth: true
Layout.fillHeight: true
color: "yellow"
}
}

关于qt - 如何在 QML 中将 RowLayout 正确拆分为两个相等的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40778958/

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