Qabstractlistmodel中的get函数不会更新QML

时间:2018-12-15 22:53:45

标签: qt qml qt5 qabstractlistmodel

我有一个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
  }

仅在加载此元素时显示数据,而在模型中的数据更改时不显示。

0 个答案:

没有答案