我的作业有问题。
在实时接收数据后,我可以使用ImageProvider在C ++到qml的背景上创建并显示 1 移动对象图像(这很简单并完成)。但是,我的作业要求:"点击按钮动态生成一些移动独立的对象(示例3对象,但不应该修复)。所以我决定为每个项目创建3个线程,每个线程将接收数据并分别更新到图像。但是,我的问题是:
在qml文件中,我必须声明一个代码段来更新图像,如:
Image {
id: id_image
source: "image/MyImageProvider/id_image
cache: false
function reload(){
source = "";
source = "image/MyImageProvider/id_image"
}
Connections {
target: MyObject
onSignal_reload:{
id_image.reload()
}
}
当我无法知道高级对象的数量时,我怎么能做类似的事情?有人有想法吗?感谢。
答案 0 :(得分:0)
您可以将Image
项目放入Repeater
。
然后继承QAbstractItemModel
并将其用作Repeater的模型。
看看这个例子 http://doc.qt.io/qt-5/qtquick-modelviewsdata-cppmodels.html