我有一个qabstractlistmodel作为QML的模型,当将gui作为代表中的列表的模型时,可以很好地更新gui 我想在QML上访问该模型的单个数据,所以我在该模型中做了一个get函数:
标题:
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
}
仅在加载此元素时显示数据,而在模型中的数据更改时不显示。