Вы смешиваете свою терминологию.
В Linux вы обычно используете fork / exec для управления внешним процессом . Поток - это контекст выполнения в вашем собственном процессе. С помощью метода fork / exec вы можете предоставить аргументы командной строки, а также создать дескрипторы pipe()
для захвата stdin / stdout.
Вы также можете ссылаться в приложении Qt прямо на свое собственное.
extern "C" int foo_main (int argc, char ** argv)
{
QApplication app (argc, argv);
// rest as normal
}
Вы можете вызывать foo_main из некоторого потока в вашей C-программе, и он будет работать, если вы не будете возиться с другими вещами GUI.