簡體   English   中英

當我不知道要花多長時間時,如何顯示QProgressDialog?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM