Create class "Model" which object will stay in main thread and connect it with QML. Create "Worker" class which do what you want to do in other thread and send updates from object of this class to object of "Model" class (default connection should do the trick). In other directions "Model" should schedule tasks for "Worker".
This way you will keep threads away form QML engine.