废话不多说直接放代码
#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 {

该代码示例展示了一个C++类,它将QJsonObject转换成QList,用于QtQuick的GridView或ListView的模型数据。在QML中,可以通过modelData访问每个单元格的数字和颜色信息。主程序还包含了如何在QML中注册和使用这个C++类的方法。
最低0.47元/天 解锁文章
714





