【发布时间】:2016-01-02 20:36:13
【问题描述】:
我有我的自定义 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。
我有一些信号可以将媒体数组从 C++ 发送到 QML,但这个数组在 QList<Media> 内。如何将其转换为 QVariant 以便 QML 读取?
【问题讨论】:
标签: qml qt5 qtquick2 qlist qvariant