У меня возникли проблемы с GridView, динамически заполненным в разрабатываемом приложении QtQuick. GridView заполняется пользовательским вводом ряда идентичных объектов, за исключением некоторого текста.
GridView {
id: grid_fc
width : parent.width
height: parent.height / 2
model: ListModel {}
delegate: Fancoil {
objectName: nome
text: indirizzo
}
}
onNewNode:
{
grid_fc.model.append({nome: "fc_" + address, indirizzo: address})
}
При определенном сигнале приложение должно изменить свойство этих объектов, поэтому я ищу каждый объект by objectName и выполняю задание.
onStatusChanged:
{
for(var i = 0; i <= grid_fc.count; i++)
{
if (grid_fc.contentItem.children[i].objectName === "fc_" + address)
{
if (online)
grid_fc.contentItem.children[i].status(Fancoil.Status.ONLINE)
else
grid_fc.contentItem.children[i].status(Fancoil.Status.OFFLINE)
break
}
}
}
Если число объектов «мало», GridView.count равен длине GridView.contentItem.children, но, увеличив число, я получаю, что GridView .считайте, что это правильно, вместо неправильной длины детей.
Пример. Заполнение GridView 100 элементами:
- GridView.count = 100
- GridView.contentItem.children = 74 (?!)
Что не так с мой код?