我的QML项目中有以下语句:
Rectangle {
// ...
anchors.right: someItemID.right
// ...
}
我收到Rectangle
项目的警告:
QML 矩形:检测到由布局管理的项上的定位点。这是未定义的行为;请改用 Layout.align。
如何使用Layout.alignment
解决上述警告?如何将另一个项目 ID 传递给Layout.alignment
?有可能吗?
布局管理其所有子项的位置和大小。不允许在子项中使用定位点,因为它可能会覆盖这些规则。您只能影响附加到其子对象的Layout
对象中的布局提供的那些属性,这在警告消息中有所提示。Layout.alignment
控制项目在布局为其创建的单元格中的对齐方式。因此,您可以将项目与其相邻单元格的边缘对齐,但不能按 ID 直接定位到其项目。
如果需要更精确的控制,则应使用位置和/或锚点属性将项目放置在布局之外。