标题:使用pyqt的QProgressDialog,代码如下
作者:laijunguang
日期:2018-09-21 09:05
内容:
主要问题:我用python的pickle,load一份文件的时候,我想要有进度条,所以代码的实现如下,但是如果我多次执行这些代码,for循环中时间越来越慢,我使用
了time库,打印了print(t1-t0)发现时间要越来越旧,所以想请教一下各位大神是什么原因
self.file_path = file_name[0]
file = open(file_name[0],'rb')
progress_dialog = QProgressDialog(self)
progress_dialog.setWindowModality(Qt.WindowModal)
progress_dialog.setCancelButton(None)
progress_dialog.setWindowTitle("init project")
progress_dialog.setLabelText("wait")
progress_dialog.setMinimum(0)
progress_dialog.setMaximum(10000)
progress_dialog.setMinimumDuration(0)
progress_dialog.show()
import time
t0 = time.time()
for i in range(0, 10000):
progress_dialog.setValue(i)
if i == 5000:
info = pickle.load(file)
self.onNewProject(isLoad=True, projInfo=info)
QCoreApplication.processEvents()
t1 ..
#1 [laijunguang 09-21 09:26]
文件的大小是没有变化的,我用while 1来跑这段代码的,就发现for循环里面的进度条里面setValue()越来越慢,第一次只要1秒多,到后面都可以到10多秒