我有一个直放站,但直放站的孩子身高各不相同,我无法确定自己。但是,我需要找到所有直放站孩子的总身高。我知道我可以遍历所有孩子并加总他们的身高,但是我觉得这效率低下,希望能有更好的方法。这是我用来测试的一些示例代码:
import QtQuick 2.10
import QtQuick.Window 2.10
Window {
id: root
width: 320
height: 580
Component.onCompleted: loadData()
function loadData() {
var len, i, repeater_data
len = 3
repeater_data = new Array(len)
for (i = 0; i < len; i++) {
repeater_data[i] = { "name": i, "height": (Math.random() * 100 + 50) }
}
repeater.model = repeater_data
}
Flickable {
id: mainFlick
anchors.fill: parent
contentHeight: mainColumn.height
Column {
id: mainColumn
width: parent.width
Repeater {
id: repeater
width: parent.width
model: []
delegate: Column {
id: repeaterItem
width: parent.width
Text {
text: modelData["name"] + " - Height: " + modelData["height"]
height: modelData["height"]
}
} // repeaterItem
} // repeater
} // mainColumn
} // mainFlick
} // root
我尝试了各种'childrenRect'属性的应用,但都无济于事。
答案 0 :(得分:0)
例如,如果有len = 3
,
如果我在根项目中添加以下代码:
focus: true
Keys.onPressed: {
console.log(mainFlick.contentHeight)
console.log(mainColumn.height)
}
我获得:
qml: 333.71034912050396
qml: 333.71034912050396
不是在找什么吗?
答案 1 :(得分:0)
我正在寻找这个问题的答案,发现您可以使用它
mainColumn.childrenRect.height
这将提供列子级的总高度或totatl行子级的宽度。