Добрый день, помогите пожалуйста понять, как процесс QProcess передает данные в основную программу.
Для примера процесс - приложение, которое выводит строчку в консоль, а основная программа должна считать ее и вывести в свою консоль.
процесс textForProcess:
#include <QDebug>
int main()
{
qDebug()<<"text";
return 0;
}
срр:
#include "mainwindow.h"
MainWindow::MainWindow()
{
more = new QProcess(this);
more->start("C:/Qt_myProgramm/build-textForProcess-Desktop-Debug/debug/textForProcess"); //путь до .exec
connect (more, SIGNAL(readyRead()),SLOT(write()));
}
void MainWindow::write()
{
qDebug()<<more->readAllStandardOutput();
}
h:
#include <QProcess>
#include <QDebug>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow();
QProcess *more;
public slots:
void write();
};
#endif // MAINWINDOW_H
Компилируется, но в консоли ничего не появляется.
QProcess посылает сигнал readyRead(), когда в текущем канале чтения доступны
данные.(процесс передает в канал строку "text", это те
данные, которые доступны для чтения?)