0

メディエーター クラスを介して C++ と QML を接続し、すべてが双方向で機能するようにしましたが、これは私を困惑させます。

これは、メディエーター クラスを接続する方法です。

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

C++ 内から通常の Property-Animation を起動する方法は?

4

2 に答える 2

1

わかりました、私はすでにこれに自分で答えることができます。

ここで説明されているアプローチを採用しましたhttp://qt-project.org/doc/qt-4.8/qdeclarativeanimation.html

アニメーション化しようとしているオブジェクトの「状態」をC++インターフェイスのQ_PROPERTYにバインドします。さまざまな状態は、オブジェクトをアニメーション化する遷移(QML内)にリンクされています。

于 2011-05-22T12:19:12.227 に答える
0

むしろ簡単な方法は、QML ファイル自体の中で JavaScript 関数を定義することです。

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

このコードを C++ から呼び出します。簡単です。

于 2011-11-24T17:52:51.627 に答える