我有这段代码:
import QtQuick 2.7
import QtQuick.Window 2.2
Window {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
Rectangle {
anchors.fill: parent
Rectangle {
id: rect1
anchors.top: parent.top
anchors.left: parent.left
anchors.right: rect2.left
anchors.bottom: parent.bottom
color: "red"
}
Rectangle {
id: rect2
anchors.top: parent.top
anchors.left: rect1.right
anchors.right: parent.right
anchors.bottom: parent.bottom
color: "blue"
}
}
}
我想将两个rect锚定到另一个,以便生成以下输出:
为什么我的代码不这样做?我宁愿不使用布局......
答案 0 :(得分:3)
问题是左侧矩形的右侧锚点设置为右侧矩形的左侧锚点,该左侧锚点设置为左侧矩形的右侧锚点。
所以你有一个var a = b = a
场景,没有使用实际的具体值。
尝试将左侧矩形的宽度设置为parent.width * .5
,并仅将右侧矩形固定到其上。
您必须具有一些具体值才能使用与其相关的值。在这种情况下,没有一个矩形具有有效宽度,因此无法确定它们共享边缘的位置。