如何使用"Layout.alignment"而不是"anchors.right: someItemID.right"



我的QML项目中有以下语句:

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

我收到Rectangle项目的警告:

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

如何使用Layout.alignment解决上述警告?如何将另一个项目 ID 传递给Layout.alignment?有可能吗?

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

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

最新更新