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