Функция get в Qabstractlistmodel не обновляет QML - PullRequest
0 голосов
/ 16 декабря 2018

У меня есть 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
  }

Отображаются только данныепри загрузке этого элемента, но не при изменении данных в модели.

...