// c++ 信号
void sigUpdate(QJsonArray jsonArray, QJsonObject jsonObj);
void emitSigUpdate()
{
QJsonArray jsonArray;
for (int32_t i = 0; i < 4; ++i)
{
QJsonObject jsonObj;
jsonObj["Name"] = "A";
jsonObj["Type"] = i;
jsonArray.push_back(jsonObj);
}
QJsonObject jsonObj;
jsonObj["Array"] = jsonArray;
emit sigUpdate(jsonArray, jsonObj);
}
// qml 槽函数
function onUpdate(jsonArray, jsonObj)
{
// 假设有个ListModel变量叫 listModel
for (var i = 0; i < jsonArray.length; ++i) {
console.log(channelJsonArray[i].Name)
console.log(channelJsonArray[i].Type)
listModel.set(i, {"Name": channelJsonArray[i].Name, "Type": channelJsonArray[i].Type})
// 或者采用以下方式
// listModel.setProperty(i, "Name", channelJsonArray[i].Name)
// listModel.setProperty(i, "Type", channelJsonArray[i].Type)
}
// 格式化ListModel并打印到控制台
for (var idx = 0; idx < listModel.count; ++idx) {
console.log(JSON.stringify(listModel.get(idx), null, 2))
}
console.log(JSON.stringify(jsonObj.Array))
}
c++和qml数据传递
最新推荐文章于 2025-05-07 14:24:36 发布