Мне нравится этот шаблон
///////////////////////////////////////////////////////////////////////
/// \brief setX
/// \param x offset of the image.
/// \return a new image as an QImage.
/////////////////////////////////////////////////////////////////////////
QImage setX(int x);
Плоский Windows не имеет fork () каким-либо общедоступным способом, поэтому нет вызова Qt для его эмуляции; вам нужно сделать что-то вроде запуска со специальными параметрами командной строки или что-то в этом роде.
Вы пробовали операторы try ... catch и выяснять, как избежать сбоев ????
Я думаю, вам следует использовать QtConcurrent , поскольку это самый высокоуровневый API для многопоточного программирования, доступный в Qt. Так ваш код будет проще и чище.
Поскольку это высокоуровневый API, он, вероятно, реализован поверх уже опробованных вами низкоуровневых API, поэтому это, вероятно, не решит вашу проблему.