0

PyQt4のQProgessDialogで「ミンター」する進歩があります。基本的に、私はこのようなループを持っています:

while progressThread.isRunning():
    self.progressDialog.setRange(0, self.progressTotal_)
    self.progressDialog.setValue(self.progress_)
del self.progressDialog

progressThreadは、変数self.progessTotal_およびself.progress_を更新します。

progress_の値が絶えず変化する場合、これは非常にうまく機能します。ただし、一部のタスクでは、これは当てはまりません(進捗レポートがそれほど詳細ではないため)。

その結果、progressDialogは、何かが変更されるまで灰色のウィンドウを表示します。whileループに何かを挿入できますか?これにより、progressDialogが強制的に更新され、何も変更されませんか?

ありがとう!ネイサン

4

1 に答える 1

0

スレッドからの更新シグナルを進行状況ダイアログに接続する必要があります。ループでUIスレッドをブロックしています。ループにQApplication::processEvents呼び出しを追加することもできますが、UIスレッドをブロックしないでください。問題はありません。

于 2010-07-13T15:59:17.107 に答える