gpt4 book ai didi

qt - 从嵌套模型填充 QML ListModel

转载 作者:行者123 更新时间:2023-12-04 12:39:43 25 4
gpt4 key购买 nike

我有以下 C++ 模型结构:

Manager             // QAbstractListModel
↪ Slot // QAbstractListModel
↪ Processor // QAbstractListModel
↪ name // Q_PROPERTY

我只传了 Manager在实例化时引用 QML。我需要填写 ComboBoxProcessor名字,但我不知道如何填充这个嵌套结构。

这是我计划拥有的代码(但现在不起作用):
ComboBox {
model: Repeater {
model: manager
delegate: Repeater {
model: slot
delegate:Repeater {
model: processor
delegate: ListModel {
ListElement {text: name}
}
}
}
}
}

我知道代表用于指定如何显示数据(这就是 ComboBox 没有这个的原因),但我不知道如何正确实现这一点。

所以我的问题是:如何填写 ListModel递归?

最佳答案

我想出了以下解决方案来递归填充 ComboBox:

ComboBox {
id: comboBox
model: ListModel {}
textRole: "processorName"

Repeater {
model: manager
delegate: Repeater {
model: slot
delegate: Repeater {
model: processor
Component.onCompleted:
comboBox.model.append(
{"processorName": model.Processor.Name}
);
}
}
}
}

关于qt - 从嵌套模型填充 QML ListModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28796320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com