hakain
@hakain
Немного знаю С/С++, Qt, и микроконтроллеры

Как анимировать элементы GridView в QML?

Скорее всего воспрос адресуется специалистам QML.
Я пишу небольшое приложение с применением связки qml/c++. И использую в реализации модель models/views/delegates.

modelview-overview.png

То есть есть некий GridView содержащий квадраты с некоторой информацией, которая берется из модели. Моделью служит С++ класс наследованный от QAbstractListModel. Ну и данные берутся из стандартного вектора (std::vector) - один элемент вектора это один элемент GridView.
Мне нужно сделать некоторую анимацию элементов GridView при клике мышью. (Это я успешно сделал запуская анимацию по событию onClicked для конкретного элемента GridView). И похожую анимацию нужно делать при изменении данных в С++ коде. И собственно вопрос - как генерировать событие при изменении элемента вектора(std::vector), чтобы оно вызвалось в QML-коде для соответствующего элемента GridView? И возможно ли это вообще?
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
@Griglapidus
Нужно что бы ваша модель генерировала сигнал. После чего без проблем делается обработчик этого сигнала в QML.
C++:
void someSignal(QString result);
QML:
Connections {
    target: model
    onSomeSignal: {
      if(result.length) {
        resultLabel.text = result;
      }
    }

  }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
МТТ Москва
от 100 000 ₽
SDT Москва
от 100 000 до 160 000 ₽
Graebert Санкт-Петербург
До 3 000 $
21 сент. 2020, в 00:07
10000 руб./за проект
20 сент. 2020, в 23:49
10000 руб./за проект
20 сент. 2020, в 23:44
20000 руб./за проект