Skip to main content
 首页 » 编程设计

python之当我不知道需要多长时间时,如何让我的 QProgressDialog 显示出来

2025年05月04日25zdz8207

我正在使用 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?

请您参考如下方法:

您可以使用 Qthread,这样程序的事件循环就不会被阻塞。并通过计时器或从 subprocess.call 读取信息或仅在进程栏中显示忙碌图标来增加进度条的值。