
【スポンサーリンク】
Progressbarの概要
Progressbarには、処理が完了するタイミングが明確で、現在の進捗状況を示すために使用するdeterminate(確定的)
モードと、処理が完了するタイミングは不明だが、処理中であることを示すindeterminate(非確定的)
モードの2種類が準備されている。
Progressbarの使い方(確定的)
以下、Progressbarのdeterminate
モードを用いて、ボタンをクリック回数の進捗状況表示させる例を示す。Progressbarオブジェクト生成時に、modeオプションをdeterminate
と設定する。
import tkinter from tkinter import ttk #ボタンクリック時に実行する関数 def count_up(): if var.get()<100: var.set(var.get()+10) #値を+10 root = tkinter.Tk() var = tkinter.IntVar(root) #現在値格納用変数 #プログレスバー(確定的) pb = ttk.Progressbar( root, maximum=100, #最大値 mode="determinate", #確定的モード variable=var, #変数を設定 ) pb.pack() #カウントアップボタン b = tkinter.Button( root, text="count up", command=count_up, #クリック時に実行する関数 ) b.pack() root.mainloop()
実行するとプログレスバーとボタンが表示され、ボタンをクリックするとプログレスバーが進捗していき、10回クリックで最大となる。


【スポンサーリンク】
Progressbarの使い方(非確定的)
次は、Progressbarのindeterminate
モードを用いた例を示す。今度は、Progressbarオブジェクト生成時にmodeオプションをindeterminate
と設定する。また、startメソッドを実行すると自動増加モードを開始させる。
import tkinter from tkinter import ttk root = tkinter.Tk() #プログレスバー(非確定的) pb = ttk.Progressbar( root, mode="indeterminate", #非確定的モード ) pb.start() #自動増加モード開始 pb.pack() root.mainloop()
実行するとプログレスバーが表示され、バーが左右に動き続けることで処理中であることを表現している。

【スポンサーリンク】
オプション・メソッド
主なオプション・メソッド | 動作 | 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() | 自動増加モードを終了 |
【スポンサーリンク】