我有我的自定义 C++ 类: Media.h
:
#ifndef MEDIA_H
#define MEDIA_H
class Media
{
public:
explicit Media();
virtual ~Media();
void setAllMedia(QString id, QString type, QString media, QString meta);
signals:
private slots:
private:
QString _id;
QString _type;
QString _media;
QString _meta;
};
#endif
在其他 QML 文件中,我有一些代码从 QML 变体中读取非常好的值,如下所示main.ml
:
property variant medias:[[]]
...
medias = [{
"id": "7",
"type": "image",
"media": "1451138132567e9c544fc64.png",
"meta": null
}, {
"id": "8",
"type": "image",
"media": "1451150881567ece21bb77e.png",
"meta": null
}, {
"id": "9",
"type": "video",
"media": "1451150924567ece4c68775.png",
"meta": null
}]
问题是我需要从 C++ 动态创建变体媒体数组并将其发送到 QML。
我有一些信号可以将 medias 数组从 C++ 发送到 QML,但这个数组在QList<Media>
. 如何将其转换为QVariant
QML 可读?