QProcess
позволяет вам захватить вывод команды, которую вы выполняете; но не через статический вызов функции, который вы использовали. Вместо этого попробуйте что-то вроде этого:
QProcess process;
process.start( "R --file=x.R" );
process.waitForFinished();
QByteArray output = process.readAllStandardOutput();
QByteArray error = process.readAllStandardError();
Конечно, чтобы сделать все правильно, вы можете запустить процесс, а затем выполнить оставшуюся часть кода в слоте, подключенном к сигналу завершения объекта процесса. Вы также можете читать из стандартного вывода или ошибки постепенно, если вы этого хотите. Или вы можете установить объекты для получения вывода или ошибки в качестве ввода для этих объектов.