我正在使用 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 读取信息或仅在进程栏中显示忙碌图标来增加进度条的值。
