我有一个 C++ 代码,它与 Web 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 ( Halls info ):
[
{
"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 的变量,我有一个 flickable,我打算用上面的组件填充它,我该如何实现呢?
如果我可以将这些大厅放入一个数组或其他东西中,那将是一项容易完成的工作,特别是如果我可以在 C++ 中完成它。