どちらもの子孫であるため、キャストQDeclarativeXmlListModel
することはできません。QDeclarativeListModel
QListModelInterface
私の意見では、Colibriは。の代わりにQObject
(variant
プロパティ)を使用する必要がありQDeclarativeListModel
ます。そして、標準的なアイテムベースのモデル信号を聞いてください。たとえば、ある程度の努力で修正できると思います。
Colibriに貢献したくない場合は、@sabbourの答えが最善の選択肢だと思います。簡単な例を考えてみましょう。
XmlListModel {
id: xmlModel
source: "http://forumcinemas.lv/rus/xml/Events/"
query: "/Events/Event"
XmlRole { name: "label"; query: "Title/string()" }
XmlRole { name: "value"; query: "ID/number()"; isKey: true }
onStatusChanged: {
if (status == XmlListModel.Ready) {
for (var i=0; i<count; i++) {
var item = get(i)
list_model.append({label: item.label,
value: item.value,
selected: false})
}
// CLComboBox doesnt seem to listen for model updates
combo_box.items = list_model
}
}
}
ListModel {
id: list_model
}
CLComboBox {
id: combo_box
// ...
}