如何均匀分布一行中的元素?

如何均匀分布一行中的元素?
Row{
    width: parent.width
    spacing: ????
    Checkbox{}
    Checkbox{}
    Checkbox{}
    Checkbox{}
}

因此,需要明确的是,复选框的间距应为,无论行有多宽,它都会根据此宽度扩大或压缩间距。

答案1

最简单的解决方案是width: parent.width/4为每个复选框设置。如果您想将复选框宽度设置为某个已知值,则可以spacing: (parent.width - 4 * checkboxwidth)/3在 Row 上设置。请注意,当父级较窄时,这会导致元素重叠。

如果你的目标是 Qt 5.1 或更高版本,你可能需要行布局。但我还在使用 5.0,因此无法帮助你。

另一种方法是将每个 CheckBox 放在一个 Item 中。每个 Item 都有width: parent.width/4,每个 CheckBox 都有anchors.centerIn: parent。这将在最左侧和最右侧提供半宽边距,这可能是或可能不是所需的。

相关内容