Необходимо из приложения запустить другое приложение с GUI. Но столкнулся с проблемой, если я не закрываю в родительском процессе канал на запись то окно потомка не появляется, стоит вызвать QProcess::closeWriteChannel() всё работает. Но нужно осуществлять двухсторонний обмен, как исправить?
Делаю так:
QString program = "programm.exe";
QProcess proc;
proc.start(program);
if (!proc.waitForStarted())
return -1;
QByteArray bArr(); // он проинициализирован и содержит данные
proc.write(bArr.data(), bArr.size());
proc.closeWriteChannel(); // без этого окно не показывается
if (!proc.waitForFinished(-1))
return -2;