【发布时间】:2021-04-23 21:16:24
【问题描述】:
以下 QML 代码:
Window {
id: window
width: 450
height: 700
visible: true
StackView {
id: mainStack
property Item itemTest: Item {
id: itemTest
ColumnLayout {
id: mainLayout
width: mainStack.width
ScrollView {
id: scrollview
Layout.fillWidth: true
Layout.fillHeight: true
clip: true
ScrollBar.horizontal.policy: ScrollBar.AlwaysOff
ColumnLayout{
id: colLayout
anchors.fill: scrollview
}
}
}
}
initialItem: itemTest
anchors.fill: parent
}
}
输出“QML ColumnLayout:无法锚定到不是父项或兄弟项的项。”
将上述代码中的“anchors.fill:scrollview”替换为“anchors.fill:parent”会使此消息消失,但 ColumnLayout 似乎没有填充 ScrollView。
鉴于这种行为,我得出的结论是,此 QML 文件中的 ScrollView 实际上不是“colLayout”的父级,这与我对 QML 中育儿工作方式的第一直觉相悖。
有人可以向我解释 QML 中关键字“parent”的确切含义吗? 非常感谢。
【问题讨论】: