私はQMLに基づいてC++アプリケーションを構築しています。QML内のJavaScriptアクションを遅らせる方法は?
それを簡単にする:
私のメインのQMLファイルで、私はボタン(長方形)クリックしたときに(外部JSファイルで定義された)JavaScript関数を呼び出すことがあります。あなたのよう
// My JS file linked to the main QML window
[...]
function actionOnButtonClicked()
{
var x = 0;
var y = 0;
for(var i = 0; i < 3; i++)
{
createObject(x, y);
x = x + 10;
y = y + 10;
}
}
をこの機能では、私はN(=ここでは3)回動的に作成するために、別のJS関数を呼び出す見ることができますいくつかの QMLは、シーンに追加するオブジェクトを:
function createObject(xPosition, yPosition)
{
component = Qt.createComponent("Symbol.qml");
component.createObject(windowApp, {"x": xPosition, "y": yPosition});
}
これは問題なく動作しています。 しかし作成されたオブジェクト(シンボル)(。1秒程度)翻訳アニメーションとwindowAppに表示され、私は2番目を作成する前に完了するための最初のオブジェクトのアニメーションを待つしたいと思います...私たちとして
使用できませんsetTimeOut() QMLのJavaScript関数ですが、これをどのように達成できるのでしょうか。私はQML TimerオブジェクトやPauseAnimationをどのように利用できるのか分かりません...
2つのQML JavaScript操作の間に遅延を追加する方法を知っていますか?
こんにちは、お手伝いをありがとうございます。実際には[scriptAction](http://doc-snapshot.qt-project.org/4.8/qml-scriptaction.html)を最後に挿入することでアニメーションが完了するのを待つことができました。しかし、Symbolが作成された後に呼び出す関数は、プログラムの実行に伴って異なる場合があり、それが(_actionOnButtonClicked()_関数で実行された)私の最初のステップを壊すことになります。 私のコードサンプルでは、簡略化のためにその関数内にいくつかのオブジェクトを作成するために_for_を使用していましたが、この関数は実際には異なるオブジェクトの作成間でいくつかの操作を実行します... – Benoit