我正在构建一个基于 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});
}
这工作正常。但是创建的对象(符号)出现在 windowApp 中并带有平移动画(大约 1 秒),我想等待第一个对象的动画完成后再创建第二个对象...
由于我们不能在 QML 中使用setTimeOut() JavaScript 函数,我想知道如何实现这一点。我看不到如何使用 QML Timer 对象甚至 PauseAnimation ...
有人知道如何在 2 个 QML JavaScript 操作之间添加延迟吗?