javascript - 由 Javascript 填充的 QML ListView

标签 javascript listview qml

我刚刚意识到(根据一些 QML 错误报告)缺少 ListView 的 JSON 委托(delegate)。所以我有两个选择,用 Javascript 或 C++ 创建的模型填充它

特别是我需要从预定义的 URL 下载 .json 数据并将它们解析到 ListView。

我尝试在 Javascript 中创建对象数组并将关联数组作为模型推送到 ListView,但失败了。不管我怎么修改代码。

那么只有 C++ 解决方案还是我可以通过 Javascript 制作 ListView 模型?

谢谢

我试过的代码:

return [{"name":"value"}]
return {"name":"value"}
return [["name","value"]]

问题总是:ReferenceError: Can't find variable: name

最佳答案

根据 mouli@irc.freenode.net#qt 的建议执行此操作:

文件:gui.qml

import "script.js" as Script

model: ListModel { id: list_model_id }

文件:script.js

function makeList(id){
    id.append({"name":"value1"});
    id.append({"name":"value2"});
}

调用:

Script.makeList(list_model_id)

关于javascript - 由 Javascript 填充的 QML ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5818334/

相关文章:

javascript - 通过ajax向firebase云消息传递发布请求?

javascript - 如何在取消选中 AngularJS 中的复选框时刷新下拉菜单

wpf - UWP XAML 如何在绑定(bind)的 ListView 中包装文本

java - Android 自定义 ListView 与 ImageButton

c++ - 如何在 C++ 中动态添加/删除 QML 属性?

javascript - 检查文件名后缀是否为 .js

javascript - 外部 javascript 文件中的 php

python - Kivy ListItemButton - 如何增加按钮尺寸的高度?

user-interface - QML 拖动一个组件,就好像它具有顶部堆叠顺序(最大 z)

qt - QML 按钮更改文本颜色