web-dev-qa-db-fra.com

Comment pouvez-vous également espacer des éléments dans une rangée?

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

Donc, pour que les choses soient bien claires, les cases à cocher doivent être espacées de manière à ce que, quelle que soit la largeur de la rangée, celle-ci s’agrandisse ou se comprime.

3
Akiva

La solution la plus simple serait de définir width: parent.width/4 pour chacune des cases à cocher. Si vous souhaitez conserver la largeur de la case à cocher définie sur une valeur connue, vous pouvez également définir spacing: (parent.width - 4 * checkboxwidth)/3 sur la ligne. Notez que cela entraînera un chevauchement des éléments lorsque le parent est étroit.

Si vous ciblez Qt 5.1 ou supérieur, vous voudrez peut-être un RowLayout . Je suis toujours sous 5.0, donc je ne peux pas vous aider là-bas.

Une autre méthode consiste à placer chaque case à cocher dans un élément. Chaque élément aurait width: parent.width/4, et chaque case à cocher aurait anchors.centerIn: parent. Cela donnerait une marge de demi-largeur à l'extrême gauche et à l'extrême droite, ce qui peut être souhaité ou non.

4
Robert Schroll