1

現在、Python を使用して多数のファイルをループ コピーしています。コピー中に、フィードバックを QTextEdit に追加するように PyQt に指示します。

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

self.feedbackQTextEditです)。

スクリプトを開始すると、すべてを一度に表示する前に、すべてのコピーが完了するまで PyQt がフリーズします。

ファイルのコピー中に各フィードバックがリアルタイムで表示されるようにするにはどうすればよいですか?

4

1 に答える 1

2

タスクは完全に IO バウンドであるため、次のコピー操作を開始する前に、保留中の GUI イベントを処理するように Qt に指示するだけです。

for src in sources:
    self.feedback.append('Copying: %s' % src)
    QtGui.qApp.processEvents()
    shutil.copy(src, dst)
于 2012-09-26T16:27:56.207 に答える