我正在开发一个基于QML的C++应用程序。
为了简化:
在我的主QML文件中,有一个按钮(矩形),当点击它时调用一个JavaScript函数(在外部JS文件中定义):
// 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});
}
这很好运作。但是创建的对象(Symbol)会以翻译动画(约1秒钟)的形式出现在windowApp中,我希望在创建第二个对象之前等待第一个对象的动画完成...
由于我们无法在QML中使用JavaScript函数setTimeOut(),所以我想知道如何实现这一点。我不知道如何利用QML Timer对象甚至PauseAnimation...
有人知道如何在两个QML JavaScript操作之间添加延迟吗?