我创建了一个继承QQuickImageProvider类的类,
但我想使用QQuickImageProvider的requestImage()
函数来设置QImage变量,但我不知道如何做到这一点,因为我需要来自类对象的QImage变量,该对象已经在ContextProperty的QML中进行了定义并希望使用id变量作为索引值从List中检索QImage。这是主要的功能代码:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
ImageProvider *imageProvider = new ImageProvider;
QQmlApplicationEngine engine;
PageBuffer p;
engine.rootContext()->setContextProperty("p",&p);
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
engine.addImageProvider("images", imageProvider);
return app.exec();
}
PageBuffer p包含当用户选择了List的某个索引值时,我需要使用QQuick ImageProvider呈现的QImages列表。 这是QML代码的片段,我想将索引值传递给imageprovider,它显示一个Image Element,它将显示保存在PageBuffer对象中的Qimages列表中的一个元素:
Image{
x: 4
y: 4
height : imagerec.height
visible: true
width : imagerec.width
anchors.fill: imagerec
source:fileUrl
Text{
id:txt
x: 0
y: 71
text:"Sketch"+(index+1)
horizontalAlignment: txt.AlignHCenter
font.family: "Tahoma"
color:"#ffffff"
}
MouseArea {
anchors.rightMargin: -59
anchors.bottomMargin: -39
anchors.fill: parent
onClicked: {
p.index=index;
p.image=mod.get(index).fileUrl
images.image=p.img
// main.source="image://image/1"
// main.source=p.image
// console.log(mod.get(index).fileUrl)
// main.source=p.image;
// currentimage=m.image;
}
}
}