一、锚点布局(Anchors)
通过定义元素与其他元素或父容器的锚点关系实现定位,支持动态调整和边距控制。
Rectangle { anchors.left: parent.left // 左对齐父容器 anchors.top: parent.top // 顶部对齐父容器 anchors.margins: 10 // 统一设置四周边距 width: 100; height: 50 }
- 关键属性:
anchors.left
、anchors.right
、anchors.fill
(填充父容器)、anchors.centerIn
(居中)。 - 边距控制:
anchors.margins
(统一边距)或单独设置anchors.leftMargin
等。
- 关键属性:
二、水平布局(Row)
Row定位器将子元素水平排列。你可以通过spacing
属性来设置子元素之间的间距。主要属性:
基本属性
属性 | 类型 | 默认值 | 描述 |
---|---|---|---|
spacing |
real | 0 | 子元素之间的间距(像素) |
layoutDirection |
enumeration | Qt.LeftToRight | 布局方向(LeftToRight/RightToLeft) |
add |
Transition | - | 添加子项时应用的过渡动画 |
move |
Transition | - | 移动子项时应用的过渡动画 |
populate |
Transition | - | 初始创建子项时应用的过渡动画 |
对齐属性
属性 | 类型 | 默认值 | 描述 |
---|---|---|---|
topPadding |
real | 0 | 顶部内边距 |
bottomPadding |
real | 0 | 底部内边距 |
leftPadding |
real | 0 | 左侧内边距 |
rightPadding |
real | 0 | 右侧内边距 |
padding |
real | 0 | 统一设置所有内边距 |
verticalAlignment |
enumeration | Row.AlignTop | 垂直对齐方式(AlignTop/AlignVCenter/AlignBottom) |
horizontalAlignment |
enumeration | Row.AlignLeft | 水平对齐方式(AlignLeft/AlignHCenter/AlignRight) |
布局控制属性
属性 | 类型 | 默认值 | 描述 |
---|---|---|---|
width |
real | 隐含宽度 | 行宽度(若未设置则为子项总宽度) |
height |
real | 隐含高度 | 行高度(若未设置则为最高子项高度) |
clip |
bool | false | 是否裁剪超出边界的内容 |
枚举值说明
layoutDirection:
Qt.LeftToRight
- 从左到右排列(默认)Qt.RightToLeft
- 从右到左排列
verticalAlignment:
Row.AlignTop
- 顶部对齐Row.AlignVCenter
- 垂直居中Row.AlignBottom
- 底部对齐
horizontalAlignment: