QML に基づいて C++ アプリケーションを構築しています。
簡単にするには:
メインの QML ファイルには、クリックすると JavaScript 関数 (外部 JS ファイルで定義) を呼び出すボタン (Rectangle) があります。
// 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;
}
}
ご覧のとおり、この関数では、別の JS 関数をn (ここでは = 3) 回呼び出して、いくつかのQML オブジェクトを動的に作成し、シーンに追加します。
function createObject(xPosition, yPosition)
{
component = Qt.createComponent("Symbol.qml");
component.createObject(windowApp, {"x": xPosition, "y": yPosition});
}
これはうまくいっています。しかし、作成されたオブジェクト (Symbol) が移動アニメーション (約 1 秒) とともに windowApp に表示されます。最初のオブジェクトのアニメーションが完了するのを待ってから、2 番目のオブジェクトを作成したいと思います...
QML ではsetTimeOut() JavaScript 関数を使用できないため、どうすればこれを達成できるのでしょうか。QML Timer オブジェクトや PauseAnimation を使用する方法がわかりません...
2 つの QML JavaScript 操作の間に遅延を追加する方法を知っている人はいますか?