【Python/tkinter】Label(ラベル)の使い方

スポンサーリンク
スポンサーリンク

PythonでGUIアプリを作成できるモジュールtkinter(ティーキンター)のLabelの使い方について解説します。

サンプルコードはモジュールのインポートを from tkinter import * としています。
関数を呼び出す際にパッケージ名の接頭辞 (tk.Frame()tk.)を省略できるのでおすすめです。

スポンサーリンク

Lablelとは

Lablelは文字を表示するためのWidget(ウィジェット)です。
オプションを指定することで、文字色・背景色・フォントなどを変更することが可能です。

また、文字だけでなく画像を表示することもできます。

Lableのオプション一覧

Labelで指定可能なオプション一覧です。

オプション説明値の形式
text表示するテキストを指定文字列
bg (background)背景色色名または16進数カラーコード
fg (foreground)文字色色名または16進数カラーコード
widthLabelの幅テキスト単位(ピクセルではない)
heightLabelの高さテキスト単位(ピクセルではない)
fontフォントタイプ・サイズを指定タプル(フォント名, サイズ)
padxラベル内に縦方向のスペースを追加ピクセル値
padyラベル内に横方向のスペースを追加ピクセル値
anchorテキストを配置する基準位置
(デフォルトはCENTER)
(基本)CENTER, N, S, W, E
(組合せ)NW, NE, SW, SE
relief枠線タイプ
(デフォルトはflat)
flat, solid, groove, raised, ridge, sunken
bd (borderwidth)枠線の幅(デフォルトは2px)
relief とセットで設定
ピクセル値
justifyテキストが複数行にわたる場合の配置位置LEFT, CENTER, RIGHT
textvariable文字列を動的に変化させる場合に使用StringVarクラスのインスタンスを指定
image表示する画像を指定PhotoImageオブジェクト
compound表示画像の位置を指定top, bottom, right, left, center

テキスト表示(text)

テキストを表示するには、textで文字列を指定します。

背景色(bg)

背景色を設定するには、bgbackground)を指定します。
値は色名か16進数カラーコードを指定します。
・参考サイト:色の名前とカラーコードが一目でわかるWEB色見本 原色大辞典

文字色(fg)

文字色を設定するには、fgforeground)を指定します。
値は色名か16進数カラーコードを指定します。
・参考サイト:色の名前とカラーコードが一目でわかるWEB色見本 原色大辞典

幅・高さ(width, height)

ラベルの幅と高さは文字列に合わせて自動で伸縮しますが、width, heightでサイズを指定することができます。

フォント指定(font)

フォントの種類とサイズを変更するにはfontをタプル(フォント名, サイズ)で指定します。

ラベル内にスペースを追加(padx, pady)

padx, padyでラベルの枠とテキストの間にスペースを追加します。
weight, height に似ていますが、こちらではテキストの内容に応じて一定のスペースを確保できます。

配置の基準位置(anchor)

ラベル文字の基準位置をanchorで指定します。

上下左右=北南西東として頭文字の記号の組み合わせで指定します。
値は、上=N, 下=S,  右=E, 左=W となります。

記号と位置関係は下図のようになります。

枠線(relief, bd)

reliefでラベルの枠線を設定します。
線の太さを変更したい場合はbdを指定します。デフォルトは2pxです。

複数行の配置位置(justify)

ラベルの文字列が複数行の場合にjustifyで寄せ方向を指定できます。
デフォルトはCENTER(中央)です。

文字列を動的に変更(textvariable)

textvariableを指定することで、ラベルに表示する文字列を動的に変化させることができます。設定値は、StringVarクラスのインスタンスを参照する変数を指定します。

画像表示(image, compound)

Labelはテキストだけでなく画像を表示することもできます。

画像ファイルをPhotoImageオブジェクトとして読み込み、imageに設定します。

また、テキストと一緒に表示する場合はcompoundで画像の配置位置を指定できます。
位置はtop, bottom, right, left, center でテキストに対する相対位置を指定します。

以上でLabelの使い方の解説は終了です。

以下の記事も参考にしてみて下さい。
・関連記事:PythonでGUIアプリを作成する(tkinter)
・関連記事:【Python/tkinter】Frameの使い方
・関連記事:【Python/tkinter】Widgetの配置(grid)
・関連記事:【Python/tkinter】Widgetの配置(pack)