КодC++ (Qt) QProcess Process; Process.setProcessChannelMode(QProcess:: ForwardedChannels); if(!StdOutFile.isEmpty()) {Process.setStandardOutputFile(StdOutFil e);} if(!StdErrFile.isEmpty()) {Process.setStandardErrorFile (StdErrFile);} Process.start(CmdLine);ЦитироватьQProces s::ForwardedChannels2QProcess forwards the output of the running process onto the main process. Anything the child process writes to its standard output and standard error will be written to the standard output and standard error of the main process.Под виндой работает все правильно. Если StdOutFile/StdErrFile заданы, то данные выводятся в них. Если кто-то из них не задан, то данные выводятся в соответствующий канал главного процесса.Однако под MAC для Process.setProcessChannelMode(QProcess:: ForwardedChannels);КодC++ (Qt)Process.setStandardOutputFile(StdOut File);Process.setStandardErrorFile (StdErrFile);Просто игнорируются! Данные всегда выводятся в соответствующий канал главного процесса.В доке ничего подобного не описано. Явно бага!
|