如何使用“ Layout.alignment”代替“ anchors.right:someItemID.right”

时间:2018-10-24 11:18:19

标签: qml

我的QML项中包含以下语句:

Rectangle {
    // ...
    anchors.right: someItemID.right
    // ...
}

我收到有关我的Rectangle项目的警告:

  

QML矩形:检测到由布局管理的项目上的锚点。这是未定义的行为;改用Layout.alignment。

如何使用Layout.alignment解决以上警告?如何将另一个商品ID传递给Layout.alignment?是可能的吗?

1 个答案:

答案 0 :(得分:0)

布局管理其所有子项的位置和大小。不允许在子项中使用锚点,因为它可能会覆盖这些规则。您只能影响由Layout对象附加到其子级上的布局所提供的那些属性,这在警告消息中得到了提示。 Layout.alignment控制项目如何在版面为其创建的单元格中对齐。因此,您可以将一个项目与其相邻单元格的边缘对齐,但不能直接通过ID锚定到它们的项目。

如果需要更精确的控制,则应使用位置和/或锚点属性将项目放置在布局之外。