2

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窓から見えるようにするにはどうしたらいいですか?

4

1 に答える 1

0

プログラムのイベントループがブロックされないように、Qthread を使用できます。また、タイマーによって進行状況バーの値を増やすか、subprocess.call から情報を読み取るか、プロセス バーにビジー アイコンを表示するだけです。

于 2012-07-19T20:44:35.337 に答える