QML Grid响应式布局要点(Qt 5.12.1)
1. Grid 不要设置宽高,不要 fill parent 只需要 centerIn parent ,否则内部控件会默认从坐标0,0开始布局,不设置会默认将所有对象居中布局,只需要调整spacing就可以很好的均布控件
2. Grid子对象实现响应式,相应的也不要用parent.width / x 这种形式,可以用Grid的父对象
Rectangle{
id: rect_grid
anchors.fill:parent
Grid{
id:grid
anchors.centerIn: parent
rows: 2
columns: 3
rowSpacing: 10
columnSpacing: 10
Repeater{
model: 6
Rectangle{
width: rect_grid.width / 4
height: rect_grid.height / 3
border.width:1
border.color:"red"
}
}
}
}