NFS 서버에서 PC로 파일을 다운로드하는 응용 프로그램을 개발 중입니다. 내 작업을 완수하기 위해 주어진 경로의 모든 디렉토리를 복사하고 QProcess를 사용하여 스크립트를 실행하는 쉘 스크립트를 작성했습니다. QProcess는 정상적으로 작동하고 모든 디렉토리를 다운로드합니다.QProcess에서 셸 스크립트를 실행하는 동안 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 창이 고정됩니다. 그리고 Progressbar는 변경되지 않습니다. :(
내가 해결 QProgressbar를 업데이트 할 수있는 방법 따라 ??? 또는 다운로드 과정 ???의 GUI보기를 표시하는 어떤 생각어떤 제안/아이디어 ???