Я создаю приложение C++ на основе QML .
Чтобы было проще:
В моем основном файле 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});
}
Это работает нормально. Но созданный объект (Символ )появляется в окне приложения с анимацией перевода (около 1 секунды. ), и я хотел бы дождаться завершения анимации первого объекта, прежде чем создавать второй...
Поскольку мы не можем использовать setTimeOut()Функция JavaScript в QML, интересно, как я мог этого добиться. Я не понимаю, как я мог бы использовать объект QML Timer или даже PauseAnimation...
Кто-нибудь знает, как добавить задержку между двумя операциями QML JavaScript?