[英]How do I get my QProgressDialog to show up when I don't know how long it will take?
我正在使用subprocess.call
運行命令提示符命令,該命令需要一段時間(> 5分鍾)才能運行:
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
中看到QProgressBar
?
您可以使用Qthread,因此不會阻止程序的事件循環。 並通過計時器或從subprocess.call中讀取信息來增加進度欄的值,或者僅在流程欄中顯示忙碌圖標。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.