Как запустить QML-анимацию из C ++ - PullRequest
0 голосов
/ 22 мая 2011

Я подключил C ++ и QML через класс-посредник, и все работает в обоих направлениях, но это меня озадачивает.

Вот как я подключаю класс-посредник:

// Initialize Mediator between QML and C++
QmlCppMediator m_qmlCppMediator;
QDeclarativeContext *context = viewer.rootContext();
context->setContextProperty("cppInterface", &m_qmlCppMediator);

Как запустить обычную Property-анимацию из C ++?

Ответы [ 2 ]

1 голос
/ 22 мая 2011

Хорошо, я уже могу ответить на этот вопрос.

Я выбрал подход, описанный здесь http://qt -project.org / doc / qt-4.8 / qdeclarativeanimation.html

Я связываю «состояние» объекта, который я пытаюсь анимировать, с Q_PROPERTY в интерфейсе C ++. Различные состояния связаны с переходами (в QML), которые анимируют объект.

0 голосов
/ 24 ноября 2011

Довольно простым способом было бы определить функцию JavaScript внутри самого файла QML, вот так:

function startAnimation() {
 animationID.running = true;
}

Теперь вызовите этот код из C ++, просто!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...