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? И возможно ли это вообще?
  • Вопрос задан
  • 123 просмотра
Решения вопроса 1
@Griglapidus
C++/Qt
Нужно что бы ваша модель генерировала сигнал. После чего без проблем делается обработчик этого сигнала в QML.
C++:
void someSignal(QString result);
QML:
Connections {
    target: model
    onSomeSignal: {
      if(result.length) {
        resultLabel.text = result;
      }
    }

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

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

Похожие вопросы