Tkinter チュートリアル - ラベル Label

胡金庫 2023年1月30日
  1. Python Tkinter ラベルウィジェット
  2. Python ラベルフォントの変更
  3. Python Tkinter ラベルの色を変更
  4. Python Tkinter ラベルで画像を表示
Tkinter チュートリアル - ラベル Label

Label ラベルウィジェットは、静的なテキスト文字列または画像を表示します。一般に、そのコンテンツは動的ではないはずです。もちろん、必要に応じてその内容を変更できます。

Python Tkinter ラベルウィジェット

from sys import version_info

if version_info.major == 2:
    import Tkinter as tk
elif version_info.major == 3:
    import tkinter as tk

app = tk.Tk()
labelExample = tk.Label(app, text="This is a Label")
labelExample.pack()
app.mainloop()

プログラムが実行されると、メインウィンドウ内にテキストラベルを持つウィンドウを生成します。

Tkinter Basic ラベル

labelExample = tk.Label(app, text="This is a label")

labelExample は、メインウィンドウ app 内の This is a label を表示します。Label インスタンスです。

labelExample.pack()

pack() メソッドは、メインウィジェット内の特定のウィジェットのレイアウトを管理します。以下のオプションがあります

pack() 方法 説明
after=widget ウィジェットをパックした後にパックする
anchor=NSEW (or subset) に従ってウィジェットを配置する
before=widget ウィジェットをパックする前にパックします
expand=bool 親のサイズが大きくなったらウィジェットを展開します
fill=none or x or y or both ウィジェットが大きくなったらウィジェットを埋める
in=master マスターを使用してこのウィジェットを含める
in_=master in オプションの説明を参照してください
ipadx=amount x 方向に内部パディングを追加します
ipady=amount y 方向に内部パディングを追加します
padx=amount x 方向にパディングを追加します
pady=amount y 方向にパディングを追加します
side=top or bottom or left or right このウィジェットを追加する場所。

オプションを変更して、異なるラベルウィジェットレイアウトを取得できます。

ラベルのサイズは、ラベルのウィジェットのオプションに属する幅と高さで指定されます。

備考
テキストが含まれる場合、幅と高さはテキスト単位の単位を持ち、画像を表示します。場合のサイズはピクセルです。

dict(label) を通じてラベルオブジェクトのすべての属性を一覧表示します。ことができます。

from sys import version_info

if version_info.major == 2:
    import Tkinter as tk
elif version_info.major == 3:
    import tkinter as tk

from pprint import pprint

app = tk.Tk()
labelExample = tk.Label(app, text="This is a Label", height=15, width=100)
pprint(dict(labelExample))

プロパティは以下のとおりです

{'activebackground': 'SystemButtonFace',
 'activeforeground': 'SystemButtonText',
 'anchor': 'center',
 'background': 'SystemButtonFace',
 'bd': <pixel object at 00000000048D1000>,
 'bg': 'SystemButtonFace',
 'bitmap': '',
 'borderwidth': <pixel object at 00000000048D1000>,
 'compound': 'none',
 'cursor': '',
 'disabledforeground': 'SystemDisabledText',
 'fg': 'SystemButtonText',
 'font': 'TkDefaultFont',
 'foreground': 'SystemButtonText',
 'height': 15,
 'highlightbackground': 'SystemButtonFace',
 'highlightcolor': 'SystemWindowFrame',
 'highlightthickness': <pixel object at 00000000048FF100>,
 'image': '',
 'justify': 'center',
 'padx': <pixel object at 00000000048FED40>,
 'pady': <pixel object at 00000000048FF0D0>,
 'relief': 'flat',
 'state': 'normal',
 'takefocus': '0',
 'text': 'This is a Label',
 'textvariable': '',
 'underline': -1,
 'width': 100,
 'wraplength': <pixel object at 00000000048FED70>}

ラベルのすべての属性を知ったら、ラベルを変更することで異なるラベルの外観を得ることができます。

Python ラベルフォントの変更

下の例を使って、ラベルの中の文字のフォントを変えてもいいです。

Tkinter Label_Set Text Font.py

from sys import version_info

if version_info.major == 2:
    import Tkinter as tk
elif version_info.major == 3:
    import tkinter as tk

import tkFont

app = tk.Tk()
labelExample1 = tk.Label(app, text="Customized Label 1", font=("Times", 20))
labelExample2 = tk.Label(app, text="Customized Label 2", font=("Times", 20, "italic"))

labelFont3 = tkFont.Font(
    family="Helvetica", size=20, weight=tkFont.BOLD, underline=1, overstrike=1
)
labelExample3 = tk.Label(app, text="Customized Label 3", font=labelFont3)
labelExample1.pack()
labelExample2.pack()
labelExample3.pack()
app.mainloop()

変更されたテキストフォントを含む Tkinter ラベル

タプルで Python Tkinter ラベルフォントを設定する

labelExample1 = tk.Label(app, text="Customized Label 1", font=("Times", 20))
labelExample2 = tk.Label(app, text="Customized Label 2", font=("Times", 20, "italic"))

フォント名タイプを最初の要素とし、サイズ、フォーマットは太字、斜体、下線または取り消し線などです。

tkFont フォントオブジェクトで Python Tkinter ラベルフォントを設定する

labelFont3 = tkFont.Font(
    family="Helvetica", size=20, weight=tkFont.BOLD, underline=1, overstrike=1
)
labelExample3 = tk.Label(app, text="Customized Label 3", font=labelFont3)

tkFont モジュールのフォントオブジェクトを使用して、ラベルテキストのフォントプロパティを指定することもできます。

labelExample3 のフォントタイプは、Helvetica のフォントファミリで、20 号、太字、下線と太字 1 の削除ラインがあります。

Info
Tkinter で使えるフォントシリーズを知りたいのかもしれませんが、下のこのプログラムはそれらを全部並べます。
from sys import version_info

if version_info.major == 2:
    import Tkinter as tk
elif version_info.major == 3:
    import tkinter as tk

import tkFont
from pprint import pprint

app = tk.Tk()
pprint(tkFont.families())

Python Tkinter ラベルの色を変更

fgbg プロパティを使用して、ラベルの前景色と背景色を変更できます。

labelExample1 = tk.Label(app, text="Customized Color", bg="gray", fg="red")

Tkinter 変更ウィジェットの前景色と背景色

Python Tkinter ラベルで画像を表示

labelimage プロパティは、ラベルに画像を表示します。ために使用できます。

from sys import version_info

if version_info.major == 2:
    import Tkinter as tk
elif version_info.major == 3:
    import tkinter as tk


app = tk.Tk()
logo = tk.PhotoImage(file="python.gif")
labelExample = tk.Label(app, image=logo)
labelExample.pack()
app.mainloop()

ラベル内の Tkinter イメージ

警告

tk.PhotoImage は GIF、PPM/PGM のタイプのカラー画像のみを表示できました。

他のタイプの画像を使用すると、_tkinter.TclError を生成します:_tkinter.TclError: couldn't recognize data in image file

著者: 胡金庫
胡金庫 avatar 胡金庫 avatar

DelftStack.comの創設者です。Jinku はロボティクスと自動車産業で8年以上働いています。自動テスト、リモートサーバーからのデータ収集、耐久テストからのレポート作成が必要となったとき、彼はコーディングスキルを磨きました。彼は電気/電子工学のバックグラウンドを持っていますが、組み込みエレクトロニクス、組み込みプログラミング、フロントエンド/バックエンドプログラミングへの関心を広げています。

LinkedIn Facebook