m_process = new QProcess(this);
m_process->start("./for");
m_process->setReadChannelMode(QProcess::MergedChannels);
connect (m_process, SIGNAL(readyReadStandardOutput() ),
this, SLOT(showOutput()));
void MainWindow::showOutput() {
while (m_process->waitForReadyRead( ))
{
QByteArray bytes= m_process->readAll();
textEdit->append(bytes);
}
}
我的for執行檔內容為:
#include<iostream>
#include<stdlib.h>
using namespace std;
int main(){
for(int i=0;i<1000000;i++)
for(int j=0;j<10000;j++){
if(i==0&&j==2)
cout<<i<<"\n";
}
cout<<"a";
return 0;
}
使用GCC compiler產生一個執行檔
我用QProcess 去呼叫它,但我用waitForReadyRead( ) 一直等不道data傳給QByteArray, 請高手指點一下 謝謝