diff options
author | Orangerot <purple@orangerot.dev> | 2024-08-11 20:54:39 +0200 |
---|---|---|
committer | Orangerot <purple@orangerot.dev> | 2024-08-11 20:54:39 +0200 |
commit | efeec3b99e02fd17fc1c69a0f221d578ccc48eef (patch) | |
tree | c38e48e6395c0542424ab773a43a38b9d7f9786c | |
parent | cf013eb832f323cb9de6b114038233b77d115bc8 (diff) |
feat(JSON): test QJsonModelorangerot/qjsonmodel-treeview
-rw-r--r-- | application.qml | 5 | ||||
-rw-r--r-- | main.cpp | 24 |
2 files changed, 20 insertions, 9 deletions
diff --git a/application.qml b/application.qml index 5e5d092..44236fe 100644 --- a/application.qml +++ b/application.qml @@ -6,13 +6,14 @@ ApplicationWindow { height: 400 visible: true - ListView { + TreeView { id: listView anchors.fill: parent model: sports // This will reference the model added to the context delegate: ItemDelegate { - text: modelData + text: eventName } + Component.onCompleted : console.log(Object.keys(sports.data)) } // StackView { @@ -19,6 +19,7 @@ // console output #include <QDebug> +#include <qlogging.h> // #include <iostream> #include "QJsonModel.hpp" @@ -38,12 +39,12 @@ int main(int argc, char *argv[]) "Item 4" }; - objectContext->setContextProperty("sports", QVariant::fromValue(dataList)); + //objectContext->setContextProperty("sports", QVariant::fromValue(dataList)); - QQmlComponent component(&engine, "application.qml"); - QObject *object = component.create(objectContext); - QObject *eventsList = object->findChild<QObject*>("eventsList"); - QQmlContext *componentContext = component.creationContext(); + //QQmlComponent component(&engine, "application.qml"); + //QObject *object = component.create(objectContext); + // QObject *eventsList = object->findChild<QObject*>("eventsList"); + // QQmlContext *componentContext = component.creationContext(); // ... delete object and objectContext when necessary @@ -70,12 +71,21 @@ int main(int argc, char *argv[]) //parse json // qDebug() << "Response:" << strReply; - - QJsonModel * model = new QJsonModel(strReply.toUtf8()); QJsonDocument jsonResponse = QJsonDocument::fromJson(strReply.toUtf8()); QJsonObject jsonObj = jsonResponse.object(); + QJsonModel * model = new QJsonModel(); + // qDebug() << QJsonDocument(jsonObj["units"].toArray()).toJson(); + // model->loadJson(QJsonDocument(jsonObj["units"].toArray()).toJson()); + model->loadJson(strReply.toUtf8()); + + objectContext->setContextProperty("sports", QVariant::fromValue(model)); // componentContext->setContextProperty("sports", model); + + // objectContext->setContextProperty("sports", QVariant::fromValue(dataList)); + + QQmlComponent component(&engine, "application.qml"); + QObject *object = component.create(objectContext); qDebug() << "Competitor:" << jsonObj["units"][0]["competitors"][0]["name"].toString(); |