我使用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
?
答案 0 :(得分:0)
您可以使用Qthread,因此不会阻止程序的事件循环。并通过计时器或从subprocess.call读取信息来增加进度条的值,或者只显示进程栏中的忙碌图标。