0
我正在開發一個應用程序來從NFS服務器下載文件到我的電腦。爲了完成我的任務,我編寫了一個Shell腳本來複制給定路徑下的所有目錄,並使用QProcess執行腳本。 QProcess可以正常工作並下載所有目錄。如何在QProcess中執行Shell腳本時更新QprogressBar?
現在,我想在QProgressBar上顯示下載過程報告。 (與我們在從互聯網下載文件時看到的窗口相同)。
我想谷歌搜索,並使用信號找到了一些想法,並試圖如下:
void NfsClient::NfsDownload()
{
download = new QProcess(this);
connect(download, SIGNAL(readyReadStandardOutput()), this, SLOT(displayProgressBar()));
download->execute("bash /home/samurai/NfsFileDownload.sh");
}
void NfsClient::displayProgressBar()
{
ui->progressbar->setvalue(download->readAll().toInt());
}
但這readyReadStandardOutput()信號也決不發出。執行腳本時,我的Qt窗口會凍結。進度條保持不變。 :(
有我解決任何方式來更新QProgressbar相應??? 或任何想法,以顯示下載過程???的GUI視圖
任何建議/想法?