2
나는 실행하는 데 시간이 걸립니다 명령 프롬프트 명령 (> 5 분) 실행 subprocess.call
을 사용하고 있습니다 :소요 시간을 모를 때 QProgressDialog가 나타나게하려면 어떻게해야합니까?
subprocess.call([command, param1, param2], cwd=cwdDir)
내가이 명령이 실행되고 있음을 보여주기 위해 QProgressDialog를 사용하고 싶습니다. 잠시 후
내 명령이 실행을 완료하고 창을 닫습니다 : 내 프로그램을 실행하면
progressDialog = QProgressDialog("Executing...", "", 0, 0)
progressDialog.setCancelButton(None)
progressBar = QProgressBar(progressDialog)
progressBar.setMinimum(0)
progressBar.setMaximum(0)
progressDialog.setBar(progressBar)
progressDialog.show()
subprocess.call([command, param1, param2], cwd=cwdDir)
progressDialog.close()
는,이 나타나 무엇 :이했다. 창에서 QProgressBar
을 볼 수 있도록하려면 어떻게해야합니까?
정확하게 질문을 이해합니까? 문제는 진행 대화 상자가 표시되지 않는 것입니까? –
@ GeorgSchölly 완전히 나타나지 않습니다. 그림에 무엇이 나타나는지, 대화 상자가 나타나지만 그 안의 내용은 나타나지 않습니다. –
'subprocess.call()'이 차단 함수 호출 인 것처럼 보입니다. Qt는 이벤트 루프를 차단하면 (진행 막대와 같은) 아무 것도 칠할 수 없습니다. – Chris