tkinter.ttk.Progressbar【プログレスバー ウィジェット】
メモ ( 作成 例 レイアウト方向 例 値設定 例 ) オプション メソッド 例
メモ
 
 
- プログレスバー ウィジェットの作成〔 例 〕 - 進捗状況等で使用
- tkinter.ttk.Progressbar:テーマ付きウィジェット
 
- レイアウト方向〔 例 〕 - orient【レイアウト方向】で HORIZONTAL【水平方向】かVERTICAL【垂直方向】を指定
- style【スタイル名】を指定する場合、レイアウト方向により別の指定
 
- 値設定〔 例 〕 - 手動 (値指定):value【現在値】または variable【値用ウィジェット変数】に値を設定
- 半自動 (増加分を指定):step( )【値加算】を複数回呼び出し
- 自動 (時間経過): start( )【自動インクリメントモード開始】・stop( )【自動インクリメントモード停止】で自動操作
 
外部リンク
オプション
メモ
- オプションの設定方法
- コンストラクタで辞書型引数 (tk のみ)・キーワード引数として指定
- オプション名を辞書インデックスとして指定 ( widget ['オプション名'] )
- config・configure【オプション設定・取得】で辞書型引数・キーワード引数として指定
 
- オプション関連のメソッド
- オプション関連メソッド
- Style.configure( ):Style に設定した値
 
- 注) 実装依存 (各種ドキュメントに相違があり)
オプション 一覧
| 個別 | tk | ttk | 説明 | 
|---|---|---|---|
| mode | Config | モード ・'determinate':確定モード (相対位置が確定) ・'indeterminate':不確定モード (処理中を表現) | |
| orient | Config | レイアウト方向 ・HORIZONTAL【水平方向】 ・VERTICAL【垂直方向】 | |
| (stateflags) | state( ) 〔詳細〕 | 状態フラグ (組合せ) ・(なし):通常状態 ・'disabled':無効状態 (一部テーマで外観変更) | |
| 値 関連 | tk | ttk | 説明 | 
| maximum | Config | 最大値 (デフォルト:100) (1サイクルの大きさ:不確定モード) | |
| value | Config | 現在の値 (variable【値用ウィジェット変数】が優先) | |
| variable | Config | 値用ウィジェット変数 | |
| サイズ・配置 | tk | ttk | 説明 | 
| length | Config | 長辺のサイズ (ピクセル単位 等) | |
| 外観 | tk | ttk | 説明 | 
| maxphase | Style | 最大アニメーション フェーズ | |
| period | Style | アニメーション フェーズ更新間隔 (ミリ秒) | |
| phase | Config | アニメーション フェーズ (自動インクリメント) | |
| 色 関連 | tk | ttk | 説明 | 
| background | Style | バー部の背景色 | |
| bordercolor | Style | 全体とバー部の境界線の色 | |
| darkcolor | Style | バー部の右下の暗い色 | |
| lightcolor | Style | バー部の左上の明るい色 | |
| troughcolor | Style | バー移動部分の溝の色 | |
| 共通 | tk | ttk | 説明 | 
| class_ | ○ | クラス名 | |
| cursor | Config | マウスカーソル名 | |
| name | ○ | インスタンス名 (省略:自動命名) 先頭に半角大文字は不可・ドットは不可 / フルパスで一意 〔 インスタンス識別 〕 | |
| style | Config | スタイル名 (Horizontal.TProgressbar・Vertical.TProgressbar) | |
| takefocus | Config | [Tab]キー等でのフォーカス移動の有無〔フォーカス関連メソッド〕 ・' ' (空文字列):自動設定 ・False:なし (スキップ) ・True:あり (タブストップ) | 
凡例
●:各種方法で指定可能
○:コンストラクタでのみ指定可能
▲:config( ) 等でのみ指定可能
Config:コンストラクタ 及び config( ) 等で指定可能
Style:Style でのみ指定可能
Method:メソッドの引数で指定
Default:デフォルト値
:テーマ依存
 
○:コンストラクタでのみ指定可能
▲:config( ) 等でのみ指定可能
Config:コンストラクタ 及び config( ) 等で指定可能
Style:Style でのみ指定可能
Method:メソッドの引数で指定
Default:デフォルト値
:テーマ依存
| 色 | 説明 | 
|---|---|
| '色名' | 色名:'red'・'green'・'blue'・'gray0'~'gray100'・'system~' 等 下記参照 Tcl8.6/Tk8.6 - Tk Commands - colors (同名色でも HTML5:カラー定義 と定義に差異あり) | 
| '#RGB' | 16進 4ビット | 
| '#RRGGBB' | 16進 8ビット | 
| '#RRRGGGBBB' | 16進 12ビット | 
| '#RRRRGGGGBBBB' | 16進 16ビット | 
マウスカーソル名の詳細 ( cursor )
| マウスカーソル名 | 説明 | 
|---|---|
| 'マウスカーソル名' | 下記参照 ('arrow'・'wait' 等) Tcl8.6/Tk8.6 - Tk Commands - cursors (英語) Tkinter 8.5 reference: a GUI for Python - Cursors (英語) | 
メソッド
| コンストラクタ | 備考 | 
|---|---|
| ttk.Progressbar(master=None, **kw) | コンストラクタ master親 (tkinter.Tk【トップレベルウィンドウ】・コンテナウィジェット) kw (キーワード引数)オプション (複数可) | 
| 固有メソッド | 備考 | 
| start(interval=None) | 自動インクリメントモード開始 interval動作間隔 (省略:50ミリ秒) | 
| step(amount=None) | 値加算 amount加算値 (省略:1.0) | 
| stop( ) | 自動インクリメントモード停止 | 
| 共通メソッド (抜粋) 〔詳細はリンク先〕 | 備考 | 
| cget( 'option' ) widget['option'] | オプション値 取得 下の構文はオプション値の設定も可 | 
| config( ~ ) configure( ~ ) | オプション 設定・取得 | 
| pack( ~ ) | 配置 (パック形式) | 
| grid( ~ ) | 配置 (グリッド形式) | 
| place( ~ ) | 配置 (座標形式) | 
| state( ~ ) ttk | 状態フラグ 取得・設定 | 
| instate( ~ ) ttk | 状態フラグ チェック | 
例
作成
import tkinter as tk
import tkinter.ttk as ttk
# トップレベルウィンドウ作成
root = tk.Tk()
# ttk.Progressbar
progressbar = ttk.Progressbar(
    root,
    length=200,
)
progressbar['value'] = 30
progressbar.pack(padx=10, pady=10)
# メインループ
root.mainloop()

レイアウト方向 
値設定 
import tkinter as tk
import tkinter.ttk as ttk
def start():
    progressbar_h.start()
    progressbar_i_h.start()
    progressbar_v.start()
    progressbar_i_v.start()
def stop():
    progressbar_h.stop()
    progressbar_i_h.stop()
    progressbar_v.stop()
    progressbar_i_v.stop()
def step():
    progressbar_h.step(10)
    progressbar_i_h.step(10)
    progressbar_v.step(10)
    progressbar_i_v.step(10)
# トップレベルウィンドウ作成
root = tk.Tk()
# ttk.Progressbar (HORIZONTAL)
progressbar_h = ttk.Progressbar(
    root,
    length=150,
)
progressbar_h['value'] = 30
progressbar_h.grid(row=0, column=0, columnspan=2, padx=10, pady=5)
# ttk.Progressbar (HORIZONTAL-indeterminate)
progressbar_i_h = ttk.Progressbar(
    root,
    mode="indeterminate",
    length=150,
)
progressbar_i_h['value'] = 30
progressbar_i_h.grid(row=1, column=0, columnspan=2, padx=10, pady=5)
# ttk.Progressbar (VERTICAL)
progressbar_v = ttk.Progressbar(
    root,
    orient=tk.VERTICAL,
)
progressbar_v['value'] = 30
progressbar_v.grid(row=0, column=2, rowspan=2, padx=5, pady=5)
# ttk.Progressbar (VERTICAL-indeterminate)
progressbar_i_v = ttk.Progressbar(
    root,
    mode="indeterminate",
    orient=tk.VERTICAL,
)
progressbar_i_v['value'] = 30
progressbar_i_v.grid(row=0, column=3, rowspan=2, padx=5, pady=5)
# [start]
button_start = ttk.Button(root, command=start, text="start")
button_start.grid(row=3, column=0, padx=5, pady=5)
# [stop]
button_stop = ttk.Button(root, command=stop, text="stop")
button_stop.grid(row=3, column=1, padx=5, pady=5)
# [step]
button_step = ttk.Button(root, command=step, text="step")
button_step.grid(row=3, column=2, columnspan=2, padx=5, pady=5)
# メインループ
root.mainloop()
