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