М
31 июля 2020 г. 0:31

QML связь с моделью в C++

model

В C++ в классе AppData есть две QStringListModel модели, model_A и model_B.
Есть слоты appendA, appendB, removeA, removeB, которые добавляют или удаляют строки из QStringList которые связаны с этими моделями.

Вопрос: когда изменяю содержимое QStringList, то данные в QML не обновляются, пока заново не присвою QStringList к QStringListModel. Для этого даже мною тут сделан специальный сигнал renew. Правильно ли это, или данные должны обновляться сами/по-другому.

3

Вам это нравится? Поделитесь в социальных сетях!

2
ВЖ
  • 31 июля 2020 г. 12:43
  • Ответ был помечен как решение.

"Вопрос: когда изменяю содержимое QStringList, то данные в QML не обновляются, пока заново не присвою QStringList к QStringListModel. Для этого даже мною тут сделан специальный сигнал renew. Правильно ли это, или данные должны обновляться сами/по-другому."

Note: There is no way for the view to know that the contents of a QList has changed. If the QList changes, it is necessary to reset the model by calling QQmlContext::setContextProperty() again.

https://doc.qt.io/qt-5/qtquick-modelviewsdata-cppmodels.html

    Спасибо.

      Комментарии

      Только авторизованные пользователи могут публиковать комментарии.
      Пожалуйста, авторизуйтесь или зарегистрируйтесь