Is QML Guaranteed to be Processed serially?
-
I have this script:
@
import QtQuick 1.0
import FileIO 1.0
import RectData 1.0Rectangle {
id: main
width: 360
height: 360MouseArea { anchors.fill: parent onClicked: { Qt.quit(); } } FileIO { id: reader source: "./rectangles.txt" onError: console.log(msg) } RectData { id: rectangles } Text { id: mytxt text:"starting.." Component.onCompleted: { mytxt.text = reader.read() console.log (rectangles.populate(mytxt.text, width, height)) mygrid.focus = true; } } GridView { id: mygrid x:0 y:0 width: 100 height: 100 model: rectangles delegate: RectDelegate }
}
@
In this QML, I want to read a txt file(C++ function rectangles.populate()) and process it before the Grid shows it. IS sequential parsing and processing guaranteed in QML? Am I implementing it correct? -
QML is read first, then it's being processed in an event loop. You can't depend on that being sequential.
But if your model is done properly, the engine will detect that "rectangles" has hanged and will be updated once the changes are done.