Ответ 1
для начала вызова процесса: process.setProcessChannelMode(QProcess::MergedChannels);
. Это вызовет печать всего (даже выход stderr) на вывод stdout.
Мне показалось, что я получаю вывод из QProcess, используя следующий код:
// Start the process
process.start(tr("php-cgi www/test.php"),QIODevice::ReadWrite);
// Wait for it to start
if(!process.waitForStarted())
return 0;
// Continue reading the data until EOF reached
QByteArray data;
while(process.waitForReadyRead())
data.append(process.readAll());
// Output the data
qDebug(data.data());
qDebug("Done!");
Я ожидаю увидеть выход из программы, напечатанной на консоли отладки, но все, что я вижу, это:
Готово!
Я знаю, что:
Что я здесь делаю неправильно?
для начала вызова процесса: process.setProcessChannelMode(QProcess::MergedChannels);
. Это вызовет печать всего (даже выход stderr) на вывод stdout.
Вот некоторые пояснения:
Согласно http://doc.qt.io/qt-5/qprocess.html#ProcessChannelMode-enum,
но