QtQuick Examples - Threading
This is a collection of QML Multithreading examples.

Threaded ListModel contains a ListView and a ListModel. The ListModel is updated asynchronusly in another thread, and the results propagate back to the main thread. A timer requests updates from the worker thread periodically:
Inside the worker thread, the ListModel is synchronized once the data is finished loading:
WorkerScript contains an example of using a WorkerScript to offload expensive calculations into another thread. This keeps the UI from being blocked. This example calculates numbers in Pascal's Triangle, and not in a very optimal way, so it will often take several seconds to complete the calculation. By doing this in a WorkerScript in another thread, the UI is not blocked during this time.
When the UI needs another value, a request is sent to the WorkerScript:
The workerscript then is free to take a really long time to calculate it:
When it's done, the result returns to the main scene via the WorkerScript element:
Files:
- threading/threading.qml
- threading/threadedlistmodel/dataloader.js
- threading/threadedlistmodel/timedisplay.qml
- threading/workerscript/Spinner.qml
- threading/workerscript/workerscript.js
- threading/workerscript/workerscript.qml
- threading/main.cpp
- threading/threading.pro
- threading/threading.qmlproject
- threading/threading.qrc
- threading/threadedlistmodel/threadedlistmodel.qmlproject
- threading/workerscript/workerscript.qmlproject