gpt4 book ai didi

qml - 如何更改列或行中项目之间的间距

转载 作者:行者123 更新时间:2023-12-04 20:37:11 26 4
gpt4 key购买 nike

我正在对齐 Item s 使用 ColumnRow QML 中的类型。有没有办法给每个 Item 不同的间距.类似于以下内容:

喜欢 :

项目 1

间距:10

项目 2

间距:20

第 3 项

间距:40

第 4 项

这是我的代码:

ApplicationWindow {
visible: true
width: 640
height: 480
title: qsTr("Hello World")

Rectangle{
id: rect
anchors.fill: parent

Column{
id: column
anchors.centerIn: parent
spacing: 10

Row{
id: row1
anchors.horizontalCenter: parent.horizontalCenter
Rectangle{
width: 300
height: 100
color: "lightgreen"
}
}
Row{
id: row2
anchors.horizontalCenter: parent.horizontalCenter
Rectangle{
width: 100
height: 50
color: "lightblue"
}
}
Row{
id: row3
anchors.horizontalCenter: parent.horizontalCenter
Rectangle{
width: 50
height: 50
color: "green"
}
}
}
}
}

最佳答案

带有间隔项的 hacky 版本

有时我更喜欢这个而不是 ColumnLayout 因为在某些情况下我不能使用 ColumnLayout (虽然目前无法确切解释原因)。
我得到它的工作如下

Column {
Rectangle {
// ...
}

Item {
width: 1 // dummy value != 0
height: 10
}

Rectangle {
// ...
}

Item {
width: 1 // dummy value != 0
height: 20
}

Rectangle {
// ...
}
}

宽度为 0 的项目将不起作用。我建议将 Spacer_Col.qml(和 Spacer_Row 模拟)放入你的工具箱中,看起来像
import QtQuick 2.8
Item {
id: root
property alias spacing: root.height
width: 1 // dummy value different from 0
}

使用 ColumnLayout
ColumnLayout {
Rectangle{
// ...
}

Rectangle{
Layout.topMargin: 10
// ...
}

Rectangle{
Layout.topMargin: 20
// ...
}
}

关于qml - 如何更改列或行中项目之间的间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33228020/

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