Python Code Notes

Information by python engineer

【tkinter.ttk】Progressbarの使い方【Python】

処理の進捗状況を可視化するためのProgressbarモジュールの概要と使い方をまとめました。 より実際的な使い方は、以下の記事を参照ください。


【スポンサーリンク】


Progressbarの概要

Progressbarには、処理が完了するタイミングが明確で、現在の進捗状況を示すために使用するdeterminate(確定的)モードと、処理が完了するタイミングは不明だが、処理中であることを示すindeterminate(非確定的)モードの2種類が準備されています。

[↑ 目次へ]

Progressbarの使い方(確定的)

以下、Progressbarのdeterminateモードを用いて、ボタンをクリック回数の進捗状況表示させる例を示します。 クリック回数上限を10回と設定し、Progressbarでクリック回数を可視化します。 上限が決まっているので、オブジェクト生成時にmodeオプションをdeterminateと設定しています。 クリック回数をvariableを用いてプログレスバーに反映しています。

how to use progressbar (determinate)

実行するとプログレスバーとボタンが表示され、ボタンをクリックするとプログレスバーが進捗していき、10回クリックで最大となります。

確定的プログレスバー
クリック後

[↑ 目次へ]


【スポンサーリンク】


Progressbarの使い方(非確定的, indeterminate)

上限値が決定していない際に使用する、Progressbarのindeterminateモードを用いた例を示します。 今度は、Progressbarオブジェクト生成時にmodeオプションをindeterminateと設定しています。

how to use progressbar (indeterminate)

ボタンクリックでprogressbarのstartメソッドを実行することで、自動増加モードを開始させています。 もう一度ボタンをクリックするとstopメソッドが実行されてprogressbarがリセットされます。

非確定的プログレスバー
動作中

[↑ 目次へ]


【スポンサーリンク】


オプション・メソッド

主なオプション・メソッド 動作
mode モード設定(determinate or indeterminate)
orient 向き(horizontal or vertical)
length Progressbarの長さ
value 現在値
maximum 最大値(デフォルトは100)
variable 現在値を格納する変数の設定(確定的モードの例を参照)
.start(interval) 自動増加モードを開始。intervalミリ秒ごとにvalueを増加させる。intervalはデフォルトで50。
.step(amount) valueをamountの値だけ増加させる。デフォルトで1。
.stop() 自動増加モードを終了

【スポンサーリンク】