Qt::QueuedConnection is delivered using event loop. Your main's thread event loop is not actually working because it stuck waiting for the thread to finish. That's why your slot is not called.
Qt::QueuedConnection