如何根据其他项'anchors.left和anchors.right的值设置QML项的宽度?这是我想要做的一个例子:
Rectangle {
width: 400
height: 400
Rectangle {
width: parent.right - parent.left
height: parent.height
}
}
显然,这只是一个简单的例子,因为我可以使用 width: parent.width
,但这一般不起作用 . 例如,如果两个锚点位于不同的项目上:
Rectangle {
width: 400
height: 400
Rectangle {
anchors.left: parent.left
width: other.left - parent.left
height: parent.height
}
Rectangle {
id: other
anchors.right: parent.right
width: 123
height: parent.height
}
}
2 回答
我找到了一个解决方案,虽然它有点乱 . 对于以下不起作用的代码:
将
other1.right
替换为other1.x + other1.width
,将other2.left
替换为other2.x
,这使我们:您正在为一个简单问题添加不必要的复杂性 .
只要您想将项目锚定到其兄弟姐妹或直接父级,您就不需要手动计算项目的宽度 .
见Positioning with Anchors .
只需锚定左侧 and 右侧值: