web-dev-qa-db-ja.com

行の要素をどのように均等に配置しますか?

Row{
    width: parent.width
    spacing: ????
    Checkbox{}
    Checkbox{}
    Checkbox{}
    Checkbox{}
}

明確にするために、チェックボックスは、行の幅が広くても、これに応じて間隔を拡大または縮小するような間隔で配置する必要があります。

3
Akiva

最も簡単な解決策は、各チェックボックスに_width: parent.width/4_を設定することです。チェックボックスの幅を何らかの既知の値に設定したい場合は、代わりにspacing: (parent.width - 4 * checkboxwidth)/3をRowに設定できます。これにより、親が狭い場合に要素が重なり合うことに注意してください。

Qt 5.1以降をターゲットにしている場合、 RowLayout が必要な場合があります。ただし、私はまだ5.0を使用しているので、そこでは手伝いません。

これを行うもう1つの方法は、各CheckBoxをItemに入れることです。各アイテムには_width: parent.width/4_があり、各チェックボックスには_anchors.centerIn: parent_があります。これにより、左端と右端に半幅のマージンが与えられますが、これは望ましい場合と望ましくない場合があります。

4
Robert Schroll