0
我想要一个矩形来自动调整自己的大小以适合其视觉儿童。如果没有边界,那么下面的伟大工程:如何保持qml从重叠内容的矩形边框?
Rectangle {
width: childrenRect.width+(border.width*2)
height: childrenRect.height+(border.width*2)
...
}
然而,如果该矩形边框,孩子们会重叠它。我试图将孩子们包装在一个容器中失败(在下面的例子中为Column
),并使用anchor.margins
将容器转移到错过矩形的边界。
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
ApplicationWindow {
visible: true
width: 600; height: 600
Rectangle {
id: rect
border.width : 20
border.color: "yellow"
clip: true
width: childrenRect.width+(border.width*2)
height: childrenRect.height+(border.width*2)
Column {
anchors.margins: rect.border.width // does not work
Text { height: 40; text: "FoooooooooooooooMumble" }
Text { height: 40; text: "Bar" }
Button { height: 40; text: "press me" }
}
}
}
有人建议如何做到这一点?
嗯,我想通了。 “边距”锚点相对于相应的边缘锚点,并且如果边缘边界未定义,则忽略相应的“边距”。因此,如果anchors.margins被设置,那么anchors.left和anchors.top也必须被设置(或者,我假设,右边和底部) – jimav