19

操作中にプログレスバーを表示しようとしました。ただし、何回かかるか分からないのでパーセンテージは計算できません。Windows には次のようなプログレスバー スタイルがあるようです: 無限フローティング プログレスバー 最大値と最小値の両方を 0 に設定して、このスタイルを実装しようとしました:

ui->progressBar->setMaximum(0);

ui->progressBar->setMinimum(0);

停止しようとしてreset()関数を呼び出したにもかかわらず、プログラムが終了するまで実際に停止しないという事実を除いて、私はそれを行ったようです。

だから私の質問は、この種のプログレスバーを正しく実装する方法ですか?

4

3 に答える 3

23

最小値、最大値、および現在の値を設定する必要があります。

ui->progressBar->setMaximum(0);
ui->progressBar->setMinimum(0);
ui->progressBar->setValue(0);

QProgressBar'a の詳細説明は次のように伝えます。

最小値と最大値の両方が 0 に設定されている場合、バーには歩数のパーセンテージではなくビジー インジケーターが表示されます。

何らかのバグに遭遇したに違いありません。Qtで最初ではないでしょう。

于 2012-08-01T08:00:42.687 に答える
12

操作が完了したら、任意の最大値を設定し、進行値を同じ数値に設定してみてください。

ui->progressBar->setMaximum(100);
ui->progressBar->setValue(100);

このように、進行状況バーがいっぱいになって完了を示す必要があります(これは、操作が実際に完了しているため、便利な視覚的な手がかりです)。

于 2012-08-01T07:58:41.463 に答える
6

私は BЈовић解決策を支持しました。なぜなら彼は公式文書から引用することを指摘していたからです。これは私が解決した方法です(ドキュメントによると、QProgressBar::setRange- QProgressBar は を使用して未確定の状態に設定できますsetRange(0, 0)):

ui->progressBar->setRange(0, 0);
于 2016-05-14T13:17:39.263 に答える