在QML中的DelegateModel中过滤ObjectModel

时间:2016-09-22 08:33:38

标签: qml qtquick2

我想知道是否有可能以某种方式使用ObjectModel作为多个DelegateModel的模型来使用它创建群组的能力。

例如,我可能会ObjectModel包含多个Rectangle作为此

ObjectModel {
    id: rootModel
    Rectangle { width: 50; height: 20; color: 'red' }
    Rectangle { width: 80; height: 50; color: 'blue' }
    Rectangle { width: 50; height: 20; color: 'green' }
    Rectangle { width: 80; height: 50; color: 'orchid' }
    Rectangle { width: 50; height: 20; color: 'black' }
}

我的目标可能是在一个视图中显示所有Rectangle width: 50,而在另一个视图中显示width: 80。{ 所以我创建了一个DelegateModel

DelegateModel {
    id: delMod1
    model: rootModel

    groups: [
        DelegateModelGroup { name: 'width50' },
        DelegateModelGroup { name: 'width80' }
    ]
}

据我所知,文档需要附加属性

item.DelegateModel.inWidth50: ....width === 50
item.DelegateModel.inWidth80: ....width === 80

或类似的东西,将我的元素添加到组中。但这是我失败的地方,因为我不知道在哪里以及如何做到这一点。

虽然有大量的解决方法(例如在ObjectModel中反汇编对象并使用ListModel,但重新创建了DelegateModel delgate中的对象,这会破坏对象的多功能性。它的孩子需要有一个可预测的结构......)我认为如果有可能让这个想法得以实现,那就太棒了。

Takk fyrir,
-m -

0 个答案:

没有答案