PyQt的。我去的时候显示操作系统进程?

时间:2012-09-26 05:25:13

标签: python pyqt pyqt4

现在我正在使用Python来循环复制大量文件。在复制时,我告诉PyQt将反馈附加到QTextEdit:

for src in sources:
    shutil.copy(src, dst)
    self.feedback.append("Copying " + src)

self.feedback是QTextEdit)。

当我开始编写脚本时,PyQt将冻结,直到完成所有副本,然后立即显示所有内容。

如何在复制文件时实时显示每个反馈?

1 个答案:

答案 0 :(得分:2)

由于您的任务完全是IO绑定的,因此您可以简单地告诉Qt在开始下一个复制操作之前处理任何挂起的gui事件:

for src in sources:
    self.feedback.append('Copying: %s' % src)
    QtGui.qApp.processEvents()
    shutil.copy(src, dst)