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