废话不多说直接放代码
#ifndef CONTROL_H
#define CONTROL_H
#include <QJsonDocument>
class Control :public QObject{
Q_OBJECT
public:
Control();
Q_INVOKABLE QList<QList<QVariant> > receiveNotes();
private:
};
#endif // CONTROL_H
QList<QList<QVariant>> Control::receiveNotes()
{
QJsonObject obj{
{"1","red"},{"2","blue"},{"3","green"},{"4","white"}};
QJsonDocument doc(obj);
QStringList keys=obj.keys();
QList<QList<QVariant>> sl;
for(auto key:keys){
QList<QVariant> temp;
auto value=obj.value(key).toVariant();
temp.append(key);
temp.append(value);
sl.append(temp);
}
return sl;
}
这是一个c++类他把接受到的QJsonObject转换成了一个QList列表
这个列表就可以直接做qt中gridview或listview的model了
此处model生成的每个单元是{“数字”,“颜色”},想在qml中单独访问数字或颜色可以用modelData[i]
import QtQuick
import QtQuick.Controls
ApplicationWindow {