2015-10-11 6 views
6

を逃し、私は同じ問題に直面しているこの古い記事を見つけました:How to mock a QML componentQML unittestのは、C++コンテキストプロパティ

は残念ながら、解決策はありません。問題を要約すると: モジュールをインポートするQML TestCaseがあります。しかし、このモジュールは、通常main.cppに追加されるroot context propertyに依存しています。これはTestCaseなので、QQmlApplicationEngineの起動には何の影響もありません。

どのようにして不足しているコンテキストプロパティを追加できますか?

答えて

0

QML項目をC++側に渡すことで、QQmlEngineのインスタンスを取得できます。ここでは、メソッドqmlEngineを使用できます。

だから、あなたは

qmlEngine(passedQmlItem)->rootContext()->setContextProperty("propertyName", propertyValue); 
を呼び出すことでコンテキストプロパティを設定することができます
関連する問題