目前我正在通过PyQT与QT框架合作。我创建了一个自定义对象(从QObject继承),并可以按照预期从QML使用它。我还在QML中创建了一个委托,该委托负责此对象的可视化表示,并且也按预期工作。如何在QML中使用ListView和自定义对象?
但是,现在我想在ListView中再次显示这些对象中的几个对象(在委托中定义的表示)(再次在QML中)。我似乎无法弄清楚这是怎么可能的,所以有人能给我一些指示?
提前感谢您的时间。
编辑:为了回应一些反应,我会试着澄清我想通过一个例子来实现更多一点。在这里,我们有一个矩形(这只是为了清晰起见,通常这将是我的自定义对象),它具有一个自定义属性(customText)和一个简单定义布局的委托,两者都可以工作。
ListView {
height: 1000
model: Rectangle {
property string customText: "1.jpg"
}
delegate: Rectangle {
width: 200
height: 200
Text {
anchors.fill: parent
text: model.customText
}
}
}
不过,现在我基本上不想一个矩形(这不会使一个ListView有很大的意义),但有几个人在例如列表。我会想到的是,我将不得不改变模式,这样的事情,但后来我得到“不能指定多个值,以奇异特性”:
model: [Rectangle {
property string customText: "1.jpg"
},
Rectangle {
property string customText: "1.jpg"
},
Rectangle {
property string customText: "1.jpg"
}]
请让我知道如果您需要任何进一步信息。
你试过了什么? – GrecKo
为什么不在这里发布与该问题相关的所有代码而不是_explaining_呢? – folibis
其中一种方法是从'QAbstractListModel'继承并定义一个模型,该模型提供这些对象中的每一个的属性。 – Velkan