我是 QML/Qt Quick 的新手,我想使用具有 section 屬性的 ListView。主要目標是在我的 UI 上創建可折疊的 ListView。我的問題是部分委托LoadcaseListElement需要來自 ListView 模型的一些資料,這里是loadcaseModel。但我無法從我的 Section Delegate Element LoadcaseListElement訪問我的 ListView 模型。(我可以從 ListView Delegate 訪問它layerDelegateItem)。
簡化的代碼片段在這里:(片段不包括所有 js 函式、元素屬性等,以實作折疊動作以利于清晰。)
ListModel {
id: loadcaseModel
ListElement {loadcaseId:"1"; name:"LC1_Honeycomb Radome LLD3"; plyCount:"7"; layerId: "5001"}
ListElement {loadcaseId:"1"; name:"LC1_Honeycomb Radome LLD3"; plyCount:"7"; layerId: "5002"}
}
ListView {
id: loadcaseListView
anchors.fill: parent
model: loadcaseModel
delegate: LayerDelegate {
id: layerDelegateItem
anchors {
left: parent.left
leftMargin: 2
right: parent.right
rightMargin: 2
}
}
section {
property: "loadcaseId"
criteria: ViewSection.FullString
delegate: LoadcaseListElement {
listElementLoadcaseNumber: model.loadcaseId
}
}
}
謝謝你的幫助...
埃內斯
uj5u.com熱心網友回復:
如果您需要訪問的唯一資料是您要分割的屬性,那么您應該能夠使用檔案中section提到的附加屬性:
section {
property: "loadcaseId"
criteria: ViewSection.FullString
delegate: LoadcaseListElement {
listElementLoadcaseNumber: section
}
}
更新:
你試圖以section一種非預期的方式使用它,所以你遇到了障礙。我建議首先以嵌套的方式組織你的模型。然后讓您的委托足夠聰明,以展開/隱藏其子元素串列。這是一個示例,顯示了執行此操作的一種方法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/416902.html
標籤:
