2 xiamai xiamai 于 2014.05.19 09:03 提问

QT中调用外部程序,输出显示的问题

Linux下QT调用外部程序F,F运行的时间比较长,在运行过程中不断有输出,用scrollarea+label(或者什么textedit)来显示程序F的输出,用的是readAll(),程序运行过程中的输出可以看到,但是当F程序运行完毕的时候,只有最后一小部分的输出能够在区域里看到.滚动条都没有或者滚动条的区域很小,前面一部分的输出根本看不到了。。
求教。。

部分代码:
out=new QTextEdit();
ui->scrollArea->setWidget(out);
out->setReadOnly(true);
ui->scrollArea->setWidgetResizable(true);

部分代码:
QProcess *proc=new QProcess(this);

connect(proc,SIGNAL(readyRead()),this,SLOT(on_read()));

proc->start("F",param);

部分代码:
void MainWindow:: on_read()
{
QProcess *proc=(QProcess *)sender();
QString result=proc->readAll();
out->setText(result);
}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!