tkinter.(ttk.)Label【ラベル ウィジェット】
メモ ( 作成 例 オプション設定 例 テキスト 例 ) オプション メソッド 例
メモ

- ラベル ウィジェットの作成〔 例 〕 - tkinter.Label:従来のウィジェット
- tkinter.ttk.Label:テーマ付きウィジェット
 
- オプション設定〔 例 〕 - オプションは各種方法で設定可
 
- ラベルのテキスト〔 例 〕 - 変更なし:text【テキスト文字列】に指定 (書き換えも可能)
- 変更あり:textvariable【ウィジェット変数】にテキスト用のウィジェット変数を指定
- 複数行:改行 ('\n') を使用
- フォントの一括設定: option_add【オプション データベース追加】でデフォルト値を設定
 
外部リンク
オプション
メモ
- オプションの設定方法
- コンストラクタで辞書型引数 (tk のみ)・キーワード引数として指定
- オプション名を辞書インデックスとして指定 ( widget ['オプション名'] )
- config・configure【オプション設定・取得】で辞書型引数・キーワード引数として指定
 
- オプション関連のメソッド
- オプション関連メソッド
- Style.configure( ):Style に設定した値
 
- 注) 実装依存 (各種ドキュメントに相違があり)
オプション 一覧
| 個別 | tk | ttk | 説明 | 
|---|---|---|---|
| state | ● | Config | 状態 (tk 互換用 ttk:(stateflags)【状態フラグ】を上書き) ・NORMAL:通常状態 (foreground【前景色】使用) ・ACTIVE:アクティブ状態 (activebackground【アクティブ状態の前景色】使用) ・DISABLED:無効状態 (disabledforeground【無効状態の前景色】使用) | 
| (stateflags) | state( ) 〔詳細〕 | 状態フラグ (組合せ:state【状態】の変更なし) ・(なし):通常状態 ・'disabled':無効状態 ・'readonly':読み込み専用状態 | |
| テキスト・画像 | tk | ttk | 説明 | 
| font | ● | ● | フォント (tkinter.Font) | 
| text | ● | Config | テキスト文字列 | 
| textvariable | ● | Config | テキスト用ウィジェット変数 | 
| compound | ● | ● | テキストと画像の合成 (テキスト対しての画像位置) | 
| bitmap | ● | ビットマップ画像 ( image【画像】を優先 ) | |
| image | ● | ● | 画像 ( bitmap【ビットマップ画像】 より優先) | 
| 外観 | tk | ttk | 説明 | 
| borderwidth (bd) | ● | 境界線の幅 | |
| relief | ● | ● | 外観 | 
| サイズ・配置 | tk | ttk | 説明 | 
| height | ● | ※ | 高さ (省略:自動計算) 文字のみ:行数 画像あり:ピクセル数 ※:padding【内部間隔のリスト】の上下間隔で調整可能 | 
| width | ● | ● | 幅 (省略・0:自動計算 / 負:最小幅) 文字のみ:文字数 画像あり:ピクセル数 | 
| anchor | ● | ● | テキスト等の配置位置 (デフォルト:W【左端揃え】ttk / CENTER【中央】tk ) | 
| justify | ● | ● | 複数行テキストの揃え ・LEFT【左端揃え】(デフォルト ttk ) ・CENTER【中央揃え】(デフォルト tk ) ・RIGHT【右端揃え】 | 
| padding | ● | 内部間隔のリスト (左端・上端・右端・下端の順) | |
| padx | ● | x方向の内部間隔 (ピクセル単位 等) | |
| pady | ● | y方向の内部間隔 (ピクセル単位 等) | |
| wraplength | ● | ● | ワードラップの幅 (スクリーン座標系単位) (0以下:折り返しなし) | 
| 色 関連 | tk | ttk | 説明 | 
| background (bg) | ● | ● (―) | 背景色 | 
| foreground (fg) | ● | ● (―) | 前景色 | 
| activebackground | ● | アクティブ状態の背景色 | |
| activeforeground | ● | アクティブ状態の前景色 | |
| (disabledbackground) | Style.map() [background] | 無効状態の背景色 | |
| disabledforeground | ● | Style.map() [foreground] | 無効状態の前景色 | 
| highlightbackground | ● | 外枠の色 (入力フォーカスなし) | |
| highlightcolor | ● | 外枠の色 (入力フォーカスあり) | |
| highlightthickness | ● | 外枠の幅 (入力フォーカス用) | |
| 共通 | tk | ttk | 説明 | 
| class_ | ○ | クラス名 | |
| cursor | ● | Config | マウスカーソル名 | 
| name | ○ | ○ | インスタンス名 (省略:自動命名) 先頭は小文字・ドットは不可 / フルパスで一意 〔 インスタンス識別 〕 | 
| style | Config | スタイル名 (TLabel) | |
| takefocus | ● | Config | [Tab]キー等でのフォーカス移動の有無〔フォーカス〕 ・'' (空文字列):自動設定 ・False:なし (スキップ) ・True:あり (タブストップ) | 
| underline | ● | Config | 下線の文字位置 (0~) (ショートカットキー用:実装は別途必要) | 
凡例
●:各種方法で指定可能
○:コンストラクタでのみ指定可能
▲:config( ) 等でのみ指定可能
Config:コンストラクタ 及び config( ) 等で指定可能
Style:Style でのみ指定可能
Method:メソッドの引数で指定
Default:デフォルト値
:テーマ依存
 ○:コンストラクタでのみ指定可能
▲:config( ) 等でのみ指定可能
Config:コンストラクタ 及び config( ) 等で指定可能
Style:Style でのみ指定可能
Method:メソッドの引数で指定
Default:デフォルト値
:テーマ依存
style.map (スタイル名, 対象 = [(状態, 状態の値)])
| 対象 | 状態 | オプション | 備考 | 
|---|---|---|---|
| background 【背景色】 | disabled【無効状態】 | (disabledbackground) | background【背景色】は未指定 | 
| readonly【読み取り専用状態】 | |||
| foreground 【前景色】 | disabled【無効状態】 | disabledforeground | foreground【前景色】は未指定 | 
| readonly【読み取り専用状態】 | 
| 色 | 説明 | 
|---|---|
| '色名' | 色名:'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ビット | 
配置位置の詳細 ( anchor )
| 配置位置 | 説明 | 
|---|---|
| '配置位置' | 東西南北 (news) を使用した8方向 と 中央の文字列 下記参照 | 
| 'nw' NW | 'n' N | 'ne' NE | 
| 'w' W | 'center' CENTER | 'e' E | 
| 'sw' SW | 's' S | 'se' SE | 
マウスカーソル名の詳細 ( cursor )
| マウスカーソル名 | 説明 | 
|---|---|
| 'マウスカーソル名' | 下記参照 ('arrow'・'wait' 等) Tcl8.6/Tk8.6 - Tk Commands - cursors (英語) Tkinter 8.5 reference: a GUI for Python - Cursors (英語) | 
テキストと画像の合成の詳細 ( compound )
| 指定値 | 説明 (テキスト対しての画像位置) | 
|---|---|
| 'text' ttk | テキストのみ表示 | 
| 'image' ttk | 画像のみ表示 | 
| NONE | テキストの代わりに画像表示 | 
| BOTTOM | 画像をテキストの下側に表示 | 
| TOP | 画像をテキストの上側に表示 | 
| LEFT | 画像をテキストの左側に表示 | 
| RIGHT | 画像をテキストの右側に表示 | 
| CENTER | 画像をテキストの上に表示 | 
ビットマップ画像の詳細 ( bitmap )
| 指定値 | 説明 | 
|---|---|
| @ファイル名 | 標準X11形式 ビットマップ ファイル名 | 
| 組み込み画像名 | 下記参照 ('error'・'hourglass'・'info'・'question'・'warning' 等) Tcl8.6/Tk8.6 - Tk C API - GetBitmap (英語) Tkinter 8.5 reference: a GUI for Python - Bitmaps (英語) | 
内部間隔リストの詳細 ( padding )
| 指定値 | 説明 | 
|---|---|
| [内部間隔 (左), 内部間隔 (上), 内部間隔 (右), 内部間隔 (下)] | 内部間隔の指定 (左から時計回り) | 
| [内部間隔 (左), 内部間隔 (上・下), 内部間隔 (右)] | |
| [内部間隔 (左・右), 内部間隔 (上・下)] | |
| 内部間隔 (上・下・左・右) | 
外観の詳細 ( relief )
| 外観 | 説明 | 
|---|---|
| FLAT | フラット | 
| GROOVE | 凹み枠 | 
| RAISED | 隆起 (凸) | 
| RIDGE | 隆起枠 (凸枠) | 
| SOLID | 実線 | 
| SUNKEN | 凹み | 
メソッド
| コンストラクタ | 備考 | 
|---|---|
| Label(master=None, cnf={ }, **kw) ttk.Label(master=None, **kw) | コンストラクタ master親 (tkinter.Tk【トップレベルウィンドウ】・コンテナウィジェット) cnf (辞書型引数)辞書型のオプション kw (キーワード引数)オプション (複数可) | 
| 固有メソッド | 備考 | 
| なし | |
| 共通メソッド (抜粋) 〔詳細はリンク先〕 | 備考 | 
| 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()
root.geometry("200x100")
# tk.Label
label = tk.Label(
    root,
    text="Label",
    padx=5,
    pady=5,
    relief=tk.SUNKEN,
    foreground="blue",
)
label.pack(padx=5, pady=5)
# ttk.Label
label_ttk = ttk.Label(
    root,
    text="ttk.Label",
    relief=tk.SUNKEN,
    foreground="blue",
    padding=5,
)
label_ttk.pack(padx=5, pady=5)
# メインループ
root.mainloop()

オプション設定
import tkinter as tk
import tkinter.ttk as ttk
from tkinter import font
# トップレベルウィンドウ作成
root = tk.Tk()
root.geometry("200x100")
# 初期設定
font_bold = font.Font(size=12, weight="bold")
# tk.Label
label = tk.Label(
    root,
    font=font_bold,
    foreground="blue",
    width=30,
)
label['text'] = "Label"
label.config(relief=tk.SUNKEN)
label.pack(padx=5, pady=5)
# ttk.Label
style = ttk.Style()
style.configure(
    "example.TLabel",
    foreground="blue",
    width=30,
)
label_ttk = ttk.Label(
    root,
    style="example.TLabel",
    font=font_bold,
)
label_ttk['text'] = "ttk.Label"
label_ttk.config(relief=tk.SUNKEN)
label_ttk.pack(padx=5, pady=5)
# メインループ
root.mainloop()

ラベルのテキスト
import tkinter as tk
import tkinter.ttk as ttk
from tkinter import font
# トップレベルウィンドウ作成
root = tk.Tk()
root.geometry("200x250")
# ラベル フォント設定
font_label = font.Font(size=12, weight="bold")
root.option_add("*Label.font", font_label)
root.option_add("*TLabel.font", font_label)
# tk.Label (1)
label_1 = tk.Label(
    root,
    text="Label 1\n(text)",
    padx=5,
    pady=5,
    relief=tk.SUNKEN,
)
label_1.pack(fill=tk.X, padx=5, pady=5)
# tk.Label (2)
var_text = tk.StringVar(value="Label 2\n(textvariable)")
label_2 = tk.Label(
    root,
    textvariable=var_text,
    padx=5,
    pady=5,
    relief=tk.SUNKEN,
)
label_2.pack(fill=tk.X, padx=5, pady=5)
# ttk.Label (1)
label_1_ttk = ttk.Label(
    root,
    text="ttk.Label 1\n(text)",
    padding=5,
    relief=tk.SUNKEN,
)
label_1_ttk.pack(fill=tk.X, padx=5, pady=5)
# ttk.Label (2)
var_text_ttk = tk.StringVar(value="ttk.Label 2\n(textvariable)")
label_2_ttk = ttk.Label(
    root,
    textvariable=var_text_ttk,
    padding=5,
    relief=tk.SUNKEN,
)
label_2_ttk.pack(fill=tk.X, padx=5, pady=5)
# メインループ
root.mainloop()
