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()