当我不知道需要多长时间时,如何让我的QProgressDialog出现?

时间:2012-07-19 15:36:00

标签: python qt qt4 pyqt pyqt4

我使用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()

当我运行我的程序时,就会显示出来:

enter image description here

过了一会儿,我的命令完成执行,窗口关闭。如何获取它以便在窗口中看到QProgressBar

1 个答案:

答案 0 :(得分:0)

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