如何使用QML组件显示JSON?

时间:2015-10-01 09:44:59

标签: c++ json qt qml flickable

我有一个C ++代码,它与Web API交互以获取JSON中的一些数据,然后JSON响应存储在一个变量中,该变量可以从QML端访问而没有任何问题。我希望能够使用自定义组件解析并显示这些JSON数据,我想为每个JSON项创建此组件的新实例,然后将它们添加到flickable中,以便用户可以全部看到它们。

1。我的组件用于显示每个大厅的数据:

[
  {
    "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
  }
]

2。获取的JSON(大厅信息):

//create the framebuffer:
glGenFramebuffers(1, &fbo);
glBindFramebuffer(GL_FRAMEBUFFER, fbo);

//Generate color buffer:
glGenRenderbuffers(1, &cb);
glBindRenderbuffer(GL_RENDERBUFFER, cb);
glRenderbufferStorageMultisample(GL_RENDERBUFFER, 4, GL_RGBA8, x_size, y_size);
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, cb);

//Generate depth buffer:
glGenRenderbuffers(1, &db);
glBindRenderbuffer(GL_RENDERBUFFER, db);
glRenderbufferStorageMultisample(GL_RENDERBUFFER, 4, GL_DEPTH_COMPONENT, x_size, y_size);
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, db);

...

glBindFramebuffer(GL_FRAMEBUFFER, 0);
//draw background ... ...

glBindFramebuffer(GL_FRAMEBUFFER, fbo);
//draw things that should get anti-aliased ... ...

//finally:
glBindFramebuffer(GL_READ_FRAMEBUFFER, fbo);
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0);
glBlitFramebuffer(0, 0, x_size, y_size, 0, 0, x_size, y_size, GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT, GL_NEAREST);

在我的 main.qml 中,我有一个包含Json&的变量。我有一个轻弹,我打算用上面的组件填充,我怎么能实现这一点?

如果我能将这些大厅变成阵列或其他什么东西,那将是一件容易上手的工作,特别是如果我能用C ++做的话。

0 个答案:

没有答案