在实现一个功能的时候,碰到了一个textedit显示的问题,请高手帮忙分析一下,问题出在哪里,谢谢了。
我要实现如下一个功能:在GUI界面上点击一个按纽,执行一个后台的脚本文件,该脚本文件会执行一系列的操作,最终会产生一个结果文件,将该结果文件的内容显示在textedit中。此功能已实现,但是由于脚本文件执行时间有点长,我就想先在textedit中显示一个提示信息,好让用户知道程序在正常运行,但是这个信息在textedit中就是显示不出来。请问是哪里出了问题,谢谢!功能函数如下:
void EmsimMainWindow::executeEmsim()
{
resultTextEdit->setPlainText("The process is running, please wait ......");
const QString str1= "/home/Tim/Practice/emsim/gonghao";
const QString str2= curFile;
QStringList qstr=(QStringList() << str1 <<str2);
QProcess::execute("sh", qstr);
QFile file("/home/Tim/Practice/emsim/gonghao.txt");
if (!file.open(QIODevice::ReadOnly|QIODevice::Text)) {
QMessageBox::warning(this, tr("Power Comsumption Showing"),
tr("Cannot read file %1:\n%2.")
.arg(file.fileName())
.arg(file.errorString()));
return ;
}
QTextStream textstr(&file);
QString str;
while (!file.atEnd()) {
str = textstr.readAll();
resultTextEdit->setPlainText(str);
}
return ;
}