QML: ausführen von Funktionen, welche in parallelen threads

In meinem code, den ich erschaffe 16x16 Tasten im Zyklus, und dies wenige Sekunden.

onCreateField:
{
    for(var i=0;i<fieldWidth;i++)
    {
        for(var j=0;j<fieldHeight;j++)
        {
            createButton(i, j);
        }
    }
}

function createButton(x, y)
{
    __buttonX = x;
    __buttonY = y;

    __component = Qt.createComponent("GameButton.qml");

    if(__component != null)
        continueButtonCreation();
    else
        __component.ready.connect(continueButtonCreation);
}

function continueButtonCreation()
{
    var button = __component.createObject(field, {"row": __buttonY, "column": __buttonX});

     if (button == null) {
         //Error Handling
         console.log("Error creating object");

         return;
     }

     updateValveState.connect(button.stateUpdated);
     button.buttonClicked.connect(buttonClicked);

     field.clearField.connect(button.release);
}

Während Funktion, die die Erstellung von Schaltflächen ausgeführt, die app friert ein. Ich will zeigen, loading animation, während diese Funktion ausgeführt wird. Also, wie führen Sie diese Funktion im parallel-thread um zu vermeiden, einfrieren?

InformationsquelleAutor Robotex | 2013-04-15
Schreibe einen Kommentar