Как показать JSON с использованием компонента QML?

У меня есть код C ++, который взаимодействует с веб-API для получения некоторых данных в JSON, а затем ответ JSON сохраняется в переменной, к которой можно обращаться со стороны QML без проблем. Я хочу иметь возможность анализировать и показывать эти данные JSON с помощью пользовательского компонента, я хочу создать новый экземпляр этого компонента для каждого элемента JSON, а затем добавить их во всплывающее окно, чтобы пользователь мог их видеть.

1. Мой компонент для отображения данных каждого зала:

import QtQuick 2.5
import QtQuick.Controls 1.4
import QtQuick.Layouts 1.1

Item {
id: root
width: 250

property alias id: id.text
property alias name: name.text
property alias status: status.text
property alias statusReason: statusReason.text
property alias comments: comments.text

ColumnLayout {
id: mainLayout

RowLayout {
id: first

Label {
text: "المُعرِّف :  "}

Label {
id: id
text: "N/A"}
}

RowLayout {
id: second

Label {
text: "القاعة :  "}

Label {
id: name
text: "N/A"}
}

RowLayout {
Label {
text: "الحالة :  "}

Label {
id: status
text: "N/A"}
}

RowLayout {
Label {
text: "السبب :  "}

Label {
id: statusReason
text: "N/A"}
}

RowLayout {
Label {
text: "تعليقات :  "}

Label {
id: comments
text: "N/A"}
}
}
}

2. Полученный JSON (информация о залах):

[
{
"Id": 1,
"Name": "The Biggest Hall",
"Status": "Busy",
"StatusReason": "Lecture with Dr. Sami Elderdery",
"Comments": "The current lecture will finish at 11 AM."},
{
"Id": 2,
"Name": "Eltijany Yousuf Bashier",
"Status": "Unoccupied",
"StatusReason": null,
"Comments": null
}
]

В моем main.qml У меня есть переменная, содержащая Json & У меня есть бланк, который я собираюсь заполнить вышеуказанным компонентом, как мне этого добиться?

Если бы я мог поместить эти залы в массив или что-то еще, это было бы легко сделать, особенно если бы я мог сделать это в C ++.

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]