You could implement a slot for addItem() and call QMetaObject::invokeMethod() to call it from a thread.