I am use readAllStandardOutput(), but it not get text from outpt (work only with "ping" or "ipconfig").
If i start with CMD (whout my programm) i can see text in console. But from my code to string put "".
Please help
.H
Qt Code:
  1. #ifndef MAINWINDOW_H
  2. #define MAINWINDOW_H
  3.  
  4. #include "ui_mainwindow.h"
  5. #include <QProcess>
  6.  
  7. class MainWindow : public QMainWindow, private Ui::MainWindow
  8. {
  9. Q_OBJECT
  10.  
  11. public:
  12. explicit MainWindow(QWidget *parent = 0);
  13. QProcess *myprocess;
  14. private slots:
  15. void on_pushButton_clicked();
  16. void outExec();
  17. void finishExec ( int exitCode, QProcess::ExitStatus exitStatus );
  18. };
  19.  
  20. #endif // MAINWINDOW_H
To copy to clipboard, switch view to plain text mode 

.CPP
Qt Code:
  1. #include "mainwindow.h"
  2. #include <QDebug>
  3. #include <QDir>
  4.  
  5. MainWindow::MainWindow(QWidget *parent) :
  6. QMainWindow(parent)
  7. {
  8. setupUi(this);
  9. }
  10.  
  11. void MainWindow::on_pushButton_clicked()
  12. {
  13. QString programm = lineEdit->text();
  14. myprocess = new QProcess(this);
  15. myprocess->setObjectName(programm);
  16. //don`t work
  17. //myprocess->start(QString("exec\\" + programm).toAscii());
  18. //don`t work too
  19. myprocess->start(QString("cmd /C " + QDir::currentPath() + "/exec/" + programm).toAscii());[ATTACH]8883[/ATTACH]
  20. qDebug() << "RUN " << QString("cmd /C " + QDir::currentPath() + "/exec/" + programm).toAscii();
  21. connect(myprocess, SIGNAL(readyReadStandardOutput ()), this, SLOT(outExec()));
  22. connect(myprocess, SIGNAL(finished (int,QProcess::ExitStatus)), this, SLOT(finishExec(int,QProcess::ExitStatus)));
  23. }
  24.  
  25. void MainWindow::outExec()
  26. {
  27. QString out = myprocess->readAllStandardOutput();
  28. qDebug() << "__" << out;
  29. plainTextEdit->appendPlainText(QString(out));
  30. }
  31.  
  32. void MainWindow::finishExec ( int exitCode, QProcess::ExitStatus exitStatus )
  33. {
  34. QString out = myprocess->readAllStandardOutput();
  35. qDebug() << out;
  36. plainTextEdit->appendPlainText(QString(out));
  37. }
To copy to clipboard, switch view to plain text mode