#qt #listview #qml
#qt #listview #qml
Вопрос:
У меня есть Listview, в котором используется модель из XmlListModel. Все работает нормально, но когда я перезагружаю модель с помощью таймера, элемент делегирования тоже перезагружается. Чтобы было ясно, я бы перезагрузил данные в элементе делегирования, но не сам элемент.
Легко ли обеспечить этот результат?
Спасибо за вашу помощь.
Комментарии:
1. Почему? Чего вы пытаетесь достичь? Можете ли вы показать нам свой код? Я думаю, что разумно прислушаться к совету «Состояние никогда не должно храниться в делегате». — qt-project.org/doc/qt-5/qml-qtquick-listview.html#delegate-prop
2. Мой код настолько уродлив, что я не могу показать здесь =) Это просто всплывающее окно Listview с помощью XmlListModel. В делегате я создал некоторый прямоугольник и некоторую метку. Значения меток заполняются ролями XmlListModel. И когда я нажимаю на прямоугольник, цвет меняется. У меня есть таймер, который перезагружает XmlModel каждые минуты. Я бы сохранил цвет своего прямоугольника при перезагрузке XmlModel, но я также хочу обновить данные в Label. Это кажется вам более понятным? Может быть, ListView не подходит для использования, может быть, мне следует использовать Repeater. Что вы думаете? Спасибо.