multithreading with QtConcurrent