У меня есть qabstractlistmodel в качестве модели для QML, которая прекрасно обновляет графический интерфейс при использовании его в качестве модели для списка в делегате. Я хотел получить доступ к отдельным данным этой модели в QML, поэтому я создал функцию get в этой модели:
header:
Q_INVOKABLE QVariantMap get(int row) const;
cpp:
QVariantMap datasourcemodel::get(int row) const
{
QHash<int, QByteArray> names = roleNames();
QHashIterator<int, QByteArray> i(names);
QVariantMap res;
QModelIndex idx = index(row, 0);
while(i.hasNext()) {
i.next();
QVariant data = idx.data(i.key());
res[i.value()] = data;
}
return res;
}
Но при использовании этой функции get, подобной этой
Text {
x: 600
y: 137
width: 100
height: 31
text: dataSourceModelObject.get(index).value
}
Отображаются только данныепри загрузке этого элемента, но не при изменении данных в модели.