【发布时间】:2021-08-26 05:59:36
【问题描述】:
我有一个如下所示的 QML ListModel:
ListModel {
id: myListModel
ListElement {myId: "1", myValue = "12"}
ListElement {myId: "2", myValue = "0"}
...
ListElement {myId: "21", myValue = "123"}
}
然后我有一些简单的 QML 标签,如下所示:
Label {
id: myLabel1
property int labelInt: 1
text: myListModel.get().myValue; //Here is my problem!
}
Label {
id: myLabel2
property int labelInt: 22
text: myListModel.get().myValue; //Here is my problem!
}
我的问题是在 myListMode.get().myValue 中填写括号。 其实我需要一个条件: 如果 myListModel 有一些 myId 等于我当前的 labelInt, 然后返回对应的myId,否则留空:
我试过了:
myListModel.get(myListModel.get(myId = labelInt).myId).myValue;
但我不确定这是正确的方法。
你能帮帮我吗? 谢谢
【问题讨论】:
-
尝试
ListElement {myId: "1", myValue: "12"}-:而不是=。另外,请参阅此处了解如何彻底搜索列表模型:stackoverflow.com/questions/41991438/… -
不起作用:-(
-
您查询的
myId会经常变化吗?ListModel的内容会经常变化吗? -
是的,总是不一样的!
-
程序运行期间:数据会从
ListModel追加和/或删除吗?对于ListModel中的一个条目,值是否会随着时间的推移而保持不变,可能会全部变化,或者至少myId不变?
标签: javascript qt qml